{"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-6851a2369326af95", "name": "Stray `console.log` in TS/JS \u2014 scripts/db-reset.ts:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/db-reset.ts:51"}, "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-aa2da1413f883cec", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-http-boundary.ts:127", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-http-boundary.ts:127"}, "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-49fbc516d153f6e6", "name": "Stray `console.log` in TS/JS \u2014 server/entry-node.ts:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/entry-node.ts:68"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46452bd6d4a1eeba", "name": "Stray `console.log` in TS/JS \u2014 server/middleware/logger.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/middleware/logger.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb9a66f7f1bd1e61", "name": "Stray `console.log` in TS/JS \u2014 server/usecases/site/licensing.ts:324", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server/usecases/site/licensing.ts:324"}, "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-ed8e7cd479f2afbd", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/global-search-bar.tsx:15", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/global-search-bar.tsx:15"}, "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-f80461355d7da7b3", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/user-account-menu.tsx:51", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/user-account-menu.tsx:51"}, "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-dc366b146d5f3522", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/page-header.tsx:45", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/page-header.tsx:45"}, "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-1062e2836fd19008", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/upload/upload-queue.tsx:352", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/upload/upload-queue.tsx:352"}, "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-e22ec8376b3eb16e", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/notifications/notification-item.tsx:63", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/notifications/notification-item.tsx:63"}, "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-c43e902637e7f106", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/team/org-switcher.tsx:61", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/team/org-switcher.tsx:61"}, "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-5b525c5ae1a95444", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/team/invite-dialog.tsx:191", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/team/invite-dialog.tsx:191"}, "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-f88b5927401f7b6f", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/columns.tsx:71", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/columns.tsx:71"}, "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-00aa730ee0d016c1", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/file-manager.tsx:83", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/file-manager.tsx:83"}, "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-5e2fab0fe7e3ab29", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/files-grid.tsx:121", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/files-grid.tsx:121"}, "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-41a5b2f14e32f10e", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/dialogs/share-dialog.tsx:254", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/dialogs/share-dialog.tsx:254"}, "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-a7f2cb772ff78c20", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/dialogs/operation-progress.tsx:35", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/dialogs/operation-progress.tsx:35"}, "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-e6473ffcade0bb29", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/preview/text-preview.tsx:105", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/preview/text-preview.tsx:105"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eb5f985190a052dc", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/announcements/site-announcements.tsx:127", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/announcements/site-announcements.tsx:127"}, "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-5542d5b5ffc08741", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/admin/branding-section.tsx:185", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/admin/branding-section.tsx:185"}, "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-8c2f8036810baa5c", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/admin/oauth-providers-section.tsx:61", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/admin/oauth-providers-section.tsx:61"}, "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-4517650c095bb054", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/share/share-layout.tsx:50", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/share/share-layout.tsx:50"}, "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-018c7951ac0b9d78", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/store/credits-panel.tsx:94", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/store/credits-panel.tsx:94"}, "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-d5808add6f8989f9", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/store/storage-usage.tsx:30", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/store/storage-usage.tsx:30"}, "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-a560bf4a1e942f74", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/store/storage-packages.tsx:82", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/store/storage-packages.tsx:82"}, "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-5ea34c3e4580e47d", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/music/music-player-button.tsx:63", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/music/music-player-button.tsx:63"}, "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-1dac54119637557c", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/background-tasks/task-list.tsx:95", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/background-tasks/task-list.tsx:95"}, "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-23dac17ca4b81b85", "name": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/users/index.tsx:98", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/users/index.tsx:98"}, "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-e95c087b249adf49", "name": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/downloads/index.tsx:802", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/downloads/index.tsx:802"}, "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-a12974348c9a2090", "name": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/teams/$teamId/members.tsx:210", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/teams/$teamId/members.tsx:210"}, "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-fbf12aa2eb417716", "name": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/announcement.tsx:212", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/announcement.tsx:212"}, "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-f1401dae73d882f4", "name": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/index.tsx:124", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/index.tsx:124"}, "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-be08c847096b9dbf", "name": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/users/index.tsx:204", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/users/index.tsx:204"}, "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-7071ae5bd9447a2c", "name": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/users/$userId.tsx:121", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/users/$userId.tsx:121"}, "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-55976a3fa96b65d3", "name": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/teams/$orgId.tsx:111", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/teams/$orgId.tsx:111"}, "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-18944e27291bdf28", "name": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/storages/index.tsx:158", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/storages/index.tsx:158"}, "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-c015f1825cdf561c", "name": "Privileged port 587 in use", "shortDescription": {"text": "Privileged port 587 in use"}, "fullDescription": {"text": "Port 587 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-103dbeadf9e0cc92", "name": "Privileged port 465 in use", "shortDescription": {"text": "Privileged port 465 in use"}, "fullDescription": {"text": "Port 465 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-25de52372c63f233", "name": "Docker base image is tag-pinned but not digest-pinned: node:24-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:24-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1496d07fc73f0a06", "name": "Docker base image is tag-pinned but not digest-pinned: golang:1.25", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: golang:1.25"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84019dfd8d98a34d", "name": "Docker base image is tag-pinned but not digest-pinned: debian:bookworm-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: debian:bookworm-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-82ffa263e3075133", "name": "Insecure pattern 'cors_wildcard' in scripts/s3-mock.mjs:205", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in scripts/s3-mock.mjs:205"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5054a707fdb2007a", "name": "Insecure pattern 'node_child_process' in scripts/db-reset.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/db-reset.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9f3b0b174f8c594e", "name": "Insecure pattern 'node_child_process' in scripts/run-cloud-e2e.mjs:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/run-cloud-e2e.mjs:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-806a5ca234293c1a", "name": "Insecure pattern 'node_child_process' in scripts/app-version.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/app-version.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8a9c58b5f3c4c843", "name": "Insecure pattern 'node_child_process' in scripts/report-deploy-telemetry.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/report-deploy-telemetry.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cf39182ac2e84eda", "name": "Insecure pattern 'node_child_process' in scripts/release.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/release.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b6ae6688ae37be40", "name": "Insecure pattern 'node_child_process' in scripts/check-downloader-openapi.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/check-downloader-openapi.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-38a4a9994d9da945", "name": "Possible secret in server/middleware/image-hosting-domain.cf-test.ts", "shortDescription": {"text": "Possible secret in server/middleware/image-hosting-domain.cf-test.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-b7c200c787f7cf68", "name": "Possible secret in server/test/setup.ts", "shortDescription": {"text": "Possible secret in server/test/setup.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-2e3172f0eef5b169", "name": "Possible secret in server/http/share-public.cf-test.ts", "shortDescription": {"text": "Possible secret in server/http/share-public.cf-test.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-e6ce6ffa26be155c", "name": "Possible secret in server/http/redirect.cf-test.ts", "shortDescription": {"text": "Possible secret in server/http/redirect.cf-test.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-8f20fc44fb41469f", "name": "Possible secret in server/http/objects.cf-test.ts", "shortDescription": {"text": "Possible secret in server/http/objects.cf-test.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-6a6d32e92a9e901e", "name": "Possible secret in server/http/notifications.cf-test.ts", "shortDescription": {"text": "Possible secret in server/http/notifications.cf-test.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-6f11f41faf92c220", "name": "Possible secret in server/http/auth/auth.cf-test.ts", "shortDescription": {"text": "Possible secret in server/http/auth/auth.cf-test.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-bc3b84df589a5097", "name": "Possible secret in server/http/site/storages.cf-test.ts", "shortDescription": {"text": "Possible secret in server/http/site/storages.cf-test.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-0d26e16090875069", "name": "Possible secret in server/http/image-hosting/images.cf-test.ts", "shortDescription": {"text": "Possible secret in server/http/image-hosting/images.cf-test.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-b1cf990337559bed", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/preview/text-preview.tsx:105", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/preview/text-preview.tsx:105"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1ea1c4b861cc8cb1", "name": "Possible secret in e2e/helpers.ts", "shortDescription": {"text": "Possible secret in e2e/helpers.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-255b057a06f296f3", "name": "Possible secret in e2e/image-host.spec.ts", "shortDescription": {"text": "Possible secret in e2e/image-host.spec.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-7cdd31615269e024", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "aws-actions/configure-aws-credentials@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-51e45de284252a77", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "google-github-actions/auth@v2 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a0cde665beec607c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "azure/login@v2 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-46c644c6227e4d4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "requarks/changelog-action@v1 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1838a141491ce38c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cb639d9a10a47b23", "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-23fb35f7cd8ee93f", "name": "Very large file: cmd/internal/openapi/client.gen.go (7108 lines)", "shortDescription": {"text": "Very large file: cmd/internal/openapi/client.gen.go (7108 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-68addec8d831c86d", "name": "Very large file: server/http/objects.integration.test.ts (2264 lines)", "shortDescription": {"text": "Very large file: server/http/objects.integration.test.ts (2264 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-881dcb51f1821a5e", "name": "Very large file: server/http/shares.integration.test.ts (1873 lines)", "shortDescription": {"text": "Very large file: server/http/shares.integration.test.ts (1873 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-36801df909bdf460", "name": "Very large file: server/http/webdav.integration.test.ts (2428 lines)", "shortDescription": {"text": "Very large file: server/http/webdav.integration.test.ts (2428 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-007a4dcd17aa0df7", "name": "Very large file: server/http/downloads/download-tasks.integration.test.ts (1632 lines)", "shortDescription": {"text": "Very large file: server/http/downloads/download-tasks.integration.test.ts (1632 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-8bafa708febb434f", "name": "Very large file: server/http/store/store.integration.test.ts (2425 lines)", "shortDescription": {"text": "Very large file: server/http/store/store.integration.test.ts (2425 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-5ecfeb6533f9580b", "name": "Very large file: server/http/image-hosting/images.integration.test.ts (1316 lines)", "shortDescription": {"text": "Very large file: server/http/image-hosting/images.integration.test.ts (1316 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-13a85373b6ef0c20", "name": "Very large file: src/lib/api.test.ts (4000 lines)", "shortDescription": {"text": "Very large file: src/lib/api.test.ts (4000 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-37a09e4345900284", "name": "Very large file: src/routes/_authenticated/downloads/index.tsx (2142 lines)", "shortDescription": {"text": "Very large file: src/routes/_authenticated/downloads/index.tsx (2142 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 30 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 53 placeholder/mock markers across 34 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-1769100d559bed9a", "name": "Commented-code block (5 lines) in playwright.config.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in playwright.config.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-f2833b5c4600eeba", "name": "Commented-code block (6 lines) in shared/content-disposition.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in shared/content-disposition.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-f8c48c881260f9b4", "name": "Commented-code block (6 lines) in scripts/lint-spec.mjs:4", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lint-spec.mjs: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-046ca7c0f6a1cd0f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 workers/bootstrap.cf-test.ts:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workers/bootstrap.cf-test.ts:17"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e3a0e0c04f0649cd", "name": "Commented-code block (6 lines) in workers/bootstrap.ts:23", "shortDescription": {"text": "Commented-code block (6 lines) in workers/bootstrap.ts:23"}, "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-e7e6ae3fd040f3b4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 workers/bootstrap.ts:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workers/bootstrap.ts:32"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-683b49259bd18b33", "name": "Commented-code block (9 lines) in server/auth.integration.test.ts:758", "shortDescription": {"text": "Commented-code block (9 lines) in server/auth.integration.test.ts:758"}, "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-865917965015e58d", "name": "Commented-code block (5 lines) in server/auth.ts:495", "shortDescription": {"text": "Commented-code block (5 lines) in server/auth.ts:495"}, "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-0387477909de37ff", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/entry-azure.ts:44", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/entry-azure.ts:44"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-30f7b6733b7c8115", "name": "Commented-code block (5 lines) in server/composition.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in server/composition.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-7211407fb9d5d577", "name": "Commented-code block (5 lines) in server/app.ts:104", "shortDescription": {"text": "Commented-code block (5 lines) in server/app.ts:104"}, "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-13fc384567a8a1af", "name": "Commented-code block (5 lines) in server/entry-node.ts:30", "shortDescription": {"text": "Commented-code block (5 lines) in server/entry-node.ts:30"}, "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-84ef165b4a6d8a88", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/adapters/providers/cf-custom-hostnames.ts:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/adapters/providers/cf-custom-hostnames.ts:24"}, "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-a895e019eb7bbf9c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/adapters/providers/changelog.ts:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/adapters/providers/changelog.ts:21"}, "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-29728d2c5ed705c8", "name": "Legacy-named symbol `sub_storage_legacy` in server/adapters/repos/quota.test.ts:93", "shortDescription": {"text": "Legacy-named symbol `sub_storage_legacy` in server/adapters/repos/quota.test.ts:93"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f56f50f9f999254", "name": "Legacy-named symbol `object_copy` in server/adapters/repos/matter.ts:453", "shortDescription": {"text": "Legacy-named symbol `object_copy` in server/adapters/repos/matter.ts:453"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a9ffe9ea8d62ea3b", "name": "Commented-code block (5 lines) in server/adapters/repos/matter.ts:243", "shortDescription": {"text": "Commented-code block (5 lines) in server/adapters/repos/matter.ts:243"}, "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-43756282d16f0b95", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/adapters/gateways/email.ts:54", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/adapters/gateways/email.ts:54"}, "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-8c51f3cb9dc3ea6b", "name": "Commented-code block (5 lines) in server/adapters/gateways/image-upload.ts:38", "shortDescription": {"text": "Commented-code block (5 lines) in server/adapters/gateways/image-upload.ts:38"}, "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-cea71c5aed34af36", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/adapters/gateways/s3.ts:68", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/adapters/gateways/s3.ts:68"}, "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-ef200fdd39710961", "name": "Legacy-named symbol `sub_storage_old` in server/http/quotas.integration.test.ts:144", "shortDescription": {"text": "Legacy-named symbol `sub_storage_old` in server/http/quotas.integration.test.ts:144"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9439714ae4d84146", "name": "Commented-code block (5 lines) in server/http/users.ts:50", "shortDescription": {"text": "Commented-code block (5 lines) in server/http/users.ts:50"}, "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-033364a8e0ea96e9", "name": "Legacy-named symbol `sub_storage_old` in server/http/users.integration.test.ts:124", "shortDescription": {"text": "Legacy-named symbol `sub_storage_old` in server/http/users.integration.test.ts:124"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-196079046ae73ed1", "name": "Commented-code block (6 lines) in server/http/events.ts:25", "shortDescription": {"text": "Commented-code block (6 lines) in server/http/events.ts:25"}, "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-96ea5b021e22c056", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/http/objects.integration.test.ts:2238", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/http/objects.integration.test.ts:2238"}, "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-90edeb29f025b9b4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 server/http/webdav.integration.test.ts:2313", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/http/webdav.integration.test.ts:2313"}, "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-75a9249b9158a8c6", "name": "Commented-code block (5 lines) in server/http/site/licensing.ts:76", "shortDescription": {"text": "Commented-code block (5 lines) in server/http/site/licensing.ts:76"}, "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-ad18aa3eb36cb77f", "name": "Legacy-named symbol `object_copy` in server/http/site/audit-events.integration.test.ts:159", "shortDescription": {"text": "Legacy-named symbol `object_copy` in server/http/site/audit-events.integration.test.ts:159"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-09ec86d63f7ebfb7", "name": "Commented-code block (6 lines) in server/http/store/helpers.ts:18", "shortDescription": {"text": "Commented-code block (6 lines) in server/http/store/helpers.ts:18"}, "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-41382046805a2d9d", "name": "Commented-code block (8 lines) in server/http/image-hosting/images.ts:59", "shortDescription": {"text": "Commented-code block (8 lines) in server/http/image-hosting/images.ts:59"}, "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-8ccb3f3eaa054372", "name": "Commented-code block (7 lines) in server/usecases/user.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in server/usecases/user.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-490f1df036e6dc07", "name": "Commented-code block (6 lines) in server/usecases/share.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in server/usecases/share.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-73581659f966969b", "name": "Commented-code block (6 lines) in server/usecases/team.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in server/usecases/team.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-245c6a81fe14b08f", "name": "Commented-code block (5 lines) in server/usecases/redirect.test.ts:17", "shortDescription": {"text": "Commented-code block (5 lines) in server/usecases/redirect.test.ts: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-5a01baf4ed4bc38f", "name": "Commented-code block (5 lines) in server/usecases/redirect.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in server/usecases/redirect.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-279cb71a5d2a1e0b", "name": "Commented-code block (7 lines) in server/usecases/webdav.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in server/usecases/webdav.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-2fc49ba7d822639c", "name": "Commented-code block (6 lines) in server/usecases/share.test.ts:36", "shortDescription": {"text": "Commented-code block (6 lines) in server/usecases/share.test.ts:36"}, "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-cc73f0b737c4b9fc", "name": "Commented-code block (5 lines) in server/usecases/events.ts:67", "shortDescription": {"text": "Commented-code block (5 lines) in server/usecases/events.ts:67"}, "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-8d77bfd056bf884a", "name": "Commented-code block (5 lines) in server/usecases/object.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in server/usecases/object.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-aa6c3840674d89ad", "name": "Commented-code block (5 lines) in server/usecases/downloads/downloads.ts:28", "shortDescription": {"text": "Commented-code block (5 lines) in server/usecases/downloads/downloads.ts:28"}, "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-310be2befcd9847e", "name": "Commented-code block (5 lines) in server/usecases/site/public-origin.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in server/usecases/site/public-origin.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-e20ffb35162f9fbf", "name": "Commented-code block (6 lines) in server/usecases/site/auth-provider.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in server/usecases/site/auth-provider.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-b141d00d4996a920", "name": "Commented-code block (8 lines) in server/usecases/site/licensing.ts:368", "shortDescription": {"text": "Commented-code block (8 lines) in server/usecases/site/licensing.ts:368"}, "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-504769fa32fe31e7", "name": "Commented-code block (6 lines) in server/usecases/site/system.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in server/usecases/site/system.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-5badd2a909f616d2", "name": "Commented-code block (5 lines) in server/usecases/site/invite-code.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in server/usecases/site/invite-code.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-99c861fb6b2fc12d", "name": "Commented-code block (5 lines) in server/usecases/site/invitation.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in server/usecases/site/invitation.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-6dca705618d4d9bd", "name": "Commented-code block (6 lines) in server/usecases/store/traffic-metering.ts:222", "shortDescription": {"text": "Commented-code block (6 lines) in server/usecases/store/traffic-metering.ts:222"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8484173cb70acd0e", "name": "Commented-code block (8 lines) in server/usecases/store/store.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in server/usecases/store/store.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-7a139d3332debbc2", "name": "Commented-code block (8 lines) in server/usecases/image-hosting/config.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in server/usecases/image-hosting/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-50d0dee365619046", "name": "Commented-code block (7 lines) in server/usecases/image-hosting/images.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in server/usecases/image-hosting/images.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-82da0f1265186209", "name": "Commented-code block (5 lines) in server/usecases/ports/downloads.ts:17", "shortDescription": {"text": "Commented-code block (5 lines) in server/usecases/ports/downloads.ts: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-03353de751c16f24", "name": "Commented-code block (7 lines) in server/domain/license-keys.ts:9", "shortDescription": {"text": "Commented-code block (7 lines) in server/domain/license-keys.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b39e46e109351a85", "name": "Commented-code block (6 lines) in src/components/oauth-buttons.test.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in src/components/oauth-buttons.test.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-40c0cd3418813caf", "name": "Commented-code block (6 lines) in src/components/files/columns.test.ts:377", "shortDescription": {"text": "Commented-code block (6 lines) in src/components/files/columns.test.ts:377"}, "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-f98d17d6bf1bffcf", "name": "Commented-code block (5 lines) in src/routes/_authenticated/teams/index.test.tsx:302", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/_authenticated/teams/index.test.tsx:302"}, "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-9573900039827325", "name": "Commented-code block (6 lines) in src/routes/(auth)/sign-in.test.ts:10", "shortDescription": {"text": "Commented-code block (6 lines) in src/routes/(auth)/sign-in.test.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-cf8c690a5e802f82", "name": "Commented-code block (5 lines) in src/hooks/server-events-store.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/hooks/server-events-store.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-c975cd5767ccdb8d", "name": "Commented-code block (6 lines) in src/hooks/useServerEvents.ts:14", "shortDescription": {"text": "Commented-code block (6 lines) in src/hooks/useServerEvents.ts:14"}, "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-b36c2d01c0f931fe", "name": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/cloud-store.spec.ts:328", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/cloud-store.spec.ts:328"}, "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-37d8c6af9544d039", "name": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/announcements.spec.ts:62", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/announcements.spec.ts:62"}, "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-f8b516009fd3dd58", "name": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/responsive-preview.spec.ts:35", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/responsive-preview.spec.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-66a27bafead2dcb2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/site-invitations.spec.ts:6", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/site-invitations.spec.ts:6"}, "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-8a68b179b18b9e1d", "name": "Dangling fetch: POST /api/auth/sign-up/email (scripts/db-reset.ts:44)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (scripts/db-reset.ts:44)"}, "fullDescription": {"text": "`scripts/db-reset.ts:44` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9b4e6e7b14726a91", "name": "Dangling fetch: POST /api/admin/storages (scripts/db-reset.ts:71)", "shortDescription": {"text": "Dangling fetch: POST /api/admin/storages (scripts/db-reset.ts:71)"}, "fullDescription": {"text": "`scripts/db-reset.ts:71` calls `POST /api/admin/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/admin/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c0943c38d5c33d74", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/auth.integration.test.ts:15)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/auth.integration.test.ts:15)"}, "fullDescription": {"text": "`server/auth.integration.test.ts:15` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fec9eaa44017446b", "name": "Dangling fetch: POST /api/auth/send-verification-email (server/auth.integration.test.ts:278)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/send-verification-email (server/auth.integration.test.ts:278)"}, "fullDescription": {"text": "`server/auth.integration.test.ts:278` calls `POST /api/auth/send-verification-email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/send-verification-email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b92e9db0f8273f86", "name": "Dangling fetch: POST /api/auth/send-verification-email (server/auth.integration.test.ts:304)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/send-verification-email (server/auth.integration.test.ts:304)"}, "fullDescription": {"text": "`server/auth.integration.test.ts:304` calls `POST /api/auth/send-verification-email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/send-verification-email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d5b3c1d3e408f93c", "name": "Dangling fetch: POST /api/auth/send-verification-email (server/auth.integration.test.ts:339)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/send-verification-email (server/auth.integration.test.ts:339)"}, "fullDescription": {"text": "`server/auth.integration.test.ts:339` calls `POST /api/auth/send-verification-email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/send-verification-email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-834cfd72a8ebdfa3", "name": "Dangling fetch: POST /api/auth/sign-in/social (server/auth.integration.test.ts:396)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-in/social (server/auth.integration.test.ts:396)"}, "fullDescription": {"text": "`server/auth.integration.test.ts:396` calls `POST /api/auth/sign-in/social` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-in/social`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7feb8c3408c01989", "name": "Dangling fetch: POST /api/auth/sign-in/social (server/auth.integration.test.ts:418)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-in/social (server/auth.integration.test.ts:418)"}, "fullDescription": {"text": "`server/auth.integration.test.ts:418` calls `POST /api/auth/sign-in/social` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-in/social`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c27f2dbe86a2a5ec", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/auth.integration.test.ts:486)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/auth.integration.test.ts:486)"}, "fullDescription": {"text": "`server/auth.integration.test.ts:486` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8026c8d452ac6228", "name": "Dangling fetch: POST /api/auth/organization/create (server/auth.integration.test.ts:511)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/create (server/auth.integration.test.ts:511)"}, "fullDescription": {"text": "`server/auth.integration.test.ts:511` calls `POST /api/auth/organization/create` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/create`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cd91ab5a08283d07", "name": "Dangling fetch: POST /api/auth/organization/create (server/auth.integration.test.ts:534)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/create (server/auth.integration.test.ts:534)"}, "fullDescription": {"text": "`server/auth.integration.test.ts:534` calls `POST /api/auth/organization/create` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/create`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0a653bf29cb519a0", "name": "Dangling fetch: POST /api/auth/organization/invite-member (server/auth.integration.test.ts:597)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/invite-member (server/auth.integration.test.ts:597)"}, "fullDescription": {"text": "`server/auth.integration.test.ts:597` calls `POST /api/auth/organization/invite-member` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/invite-member`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5f66f1f33f361c4a", "name": "Dangling fetch: POST /api/auth/organization/invite-member (server/auth.integration.test.ts:623)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/invite-member (server/auth.integration.test.ts:623)"}, "fullDescription": {"text": "`server/auth.integration.test.ts:623` calls `POST /api/auth/organization/invite-member` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/invite-member`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5518fc2e1c73d582", "name": "Dangling fetch: GET /api/auth/get-session (server/cors.test.ts:11)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/get-session (server/cors.test.ts:11)"}, "fullDescription": {"text": "`server/cors.test.ts:11` calls `GET /api/auth/get-session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/get-session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2aa5056cd4b445a8", "name": "Dangling fetch: GET /api/auth/get-session (server/cors.test.ts:16)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/get-session (server/cors.test.ts:16)"}, "fullDescription": {"text": "`server/cors.test.ts:16` calls `GET /api/auth/get-session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/get-session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b64faba89146338d", "name": "Dangling fetch: GET /api/auth/get-session (server/cors.test.ts:28)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/get-session (server/cors.test.ts:28)"}, "fullDescription": {"text": "`server/cors.test.ts:28` calls `GET /api/auth/get-session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/get-session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-803249806a9380e2", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/app.test.ts:19)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/app.test.ts:19)"}, "fullDescription": {"text": "`server/app.test.ts:19` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-263f53513161fb36", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/app.test.ts:38)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/app.test.ts:38)"}, "fullDescription": {"text": "`server/app.test.ts:38` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-60f1df3aa1a4e1aa", "name": "Dangling fetch: POST /api/auth/sign-in/social (server/app.test.ts:60)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-in/social (server/app.test.ts:60)"}, "fullDescription": {"text": "`server/app.test.ts:60` calls `POST /api/auth/sign-in/social` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-in/social`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-075ce5f4a8539ee5", "name": "Dangling fetch: POST /api/auth/sign-in/social (server/app.test.ts:72)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-in/social (server/app.test.ts:72)"}, "fullDescription": {"text": "`server/app.test.ts:72` calls `POST /api/auth/sign-in/social` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-in/social`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-81afc57dbb0ffbc0", "name": "Dangling fetch: POST /api/auth/sign-in/social (server/app.test.ts:89)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-in/social (server/app.test.ts:89)"}, "fullDescription": {"text": "`server/app.test.ts:89` calls `POST /api/auth/sign-in/social` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-in/social`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4f4d0d4db2f64352", "name": "Dangling fetch: POST https://api.cloudflare.com/client/v4/zones/${this.cfg.zoneId}/custom_hostnames (server/adapters/pro", "shortDescription": {"text": "Dangling fetch: POST https://api.cloudflare.com/client/v4/zones/${this.cfg.zoneId}/custom_hostnames (server/adapters/providers/cf-custom-hostnames.ts:24)"}, "fullDescription": {"text": "`server/adapters/providers/cf-custom-hostnames.ts:24` calls `POST https://api.cloudflare.com/client/v4/zones/${this.cfg.zoneId}/custom_hostnames` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.cloudflare.com/client/v4/zones/<p>/custom_hostnames`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5d07a796bdba6f30", "name": "Dangling fetch: GET https://api.cloudflare.com/client/v4/zones/${this.cfg.zoneId}/custom_hostnames/${id} (server/adapter", "shortDescription": {"text": "Dangling fetch: GET https://api.cloudflare.com/client/v4/zones/${this.cfg.zoneId}/custom_hostnames/${id} (server/adapters/providers/cf-custom-hostnames.ts:49)"}, "fullDescription": {"text": "`server/adapters/providers/cf-custom-hostnames.ts:49` calls `GET https://api.cloudflare.com/client/v4/zones/${this.cfg.zoneId}/custom_hostnames/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.cloudflare.com/client/v4/zones/<p>/custom_hostnames/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b55f23cf409edd31", "name": "Dangling fetch: DELETE https://api.cloudflare.com/client/v4/zones/${this.cfg.zoneId}/custom_hostnames/${id} (server/adap", "shortDescription": {"text": "Dangling fetch: DELETE https://api.cloudflare.com/client/v4/zones/${this.cfg.zoneId}/custom_hostnames/${id} (server/adapters/providers/cf-custom-hostnames.ts:68)"}, "fullDescription": {"text": "`server/adapters/providers/cf-custom-hostnames.ts:68` calls `DELETE https://api.cloudflare.com/client/v4/zones/${this.cfg.zoneId}/custom_hostnames/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.cloudflare.com/client/v4/zones/<p>/custom_hostnames/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eee25f1e46d90c5c", "name": "Dangling fetch: GET /api/downloads/tasks (server/adapters/repos/api-keys-rate-limit.integration.test.ts:110)", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks (server/adapters/repos/api-keys-rate-limit.integration.test.ts:110)"}, "fullDescription": {"text": "`server/adapters/repos/api-keys-rate-limit.integration.test.ts:110` calls `GET /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-08d60a62231df897", "name": "Dangling fetch: GET /api/downloads/tasks (server/adapters/repos/api-keys-rate-limit.integration.test.ts:111)", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks (server/adapters/repos/api-keys-rate-limit.integration.test.ts:111)"}, "fullDescription": {"text": "`server/adapters/repos/api-keys-rate-limit.integration.test.ts:111` calls `GET /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5c29c1106d46d46d", "name": "Dangling fetch: PROPFIND /dav/ (server/adapters/repos/api-keys-rate-limit.integration.test.ts:136)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/ (server/adapters/repos/api-keys-rate-limit.integration.test.ts:136)"}, "fullDescription": {"text": "`server/adapters/repos/api-keys-rate-limit.integration.test.ts:136` calls `PROPFIND /dav/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d5e7148207e9b046", "name": "Dangling fetch: PROPFIND /dav/ (server/adapters/repos/api-keys-rate-limit.integration.test.ts:137)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/ (server/adapters/repos/api-keys-rate-limit.integration.test.ts:137)"}, "fullDescription": {"text": "`server/adapters/repos/api-keys-rate-limit.integration.test.ts:137` calls `PROPFIND /dav/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7e83dec1b8565202", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/middleware/auth.integration.test.ts:26)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/middleware/auth.integration.test.ts:26)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:26` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7ea7e952f34fdfea", "name": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:43)", "shortDescription": {"text": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:43)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:43` calls `GET /api/admin-only` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/admin-only`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-91ffd6c42440fdc4", "name": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:52)", "shortDescription": {"text": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:52)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:52` calls `GET /api/admin-only` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/admin-only`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-812c15723df992f7", "name": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:60)", "shortDescription": {"text": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:60)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:60` calls `GET /api/admin-only` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/admin-only`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-43f7645ebe737e5e", "name": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:69)", "shortDescription": {"text": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:69)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:69` calls `GET /api/admin-only` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/admin-only`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-267a144db5363603", "name": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:76)", "shortDescription": {"text": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:76)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:76` calls `GET /api/admin-only` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/admin-only`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3c08d4d3ffa9dd76", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/middleware/auth.integration.test.ts:107)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/middleware/auth.integration.test.ts:107)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:107` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2b78884b0cc7963d", "name": "Dangling fetch: POST /api/auth/organization/set-active (server/middleware/auth.integration.test.ts:120)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/set-active (server/middleware/auth.integration.test.ts:120)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:120` calls `POST /api/auth/organization/set-active` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/set-active`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2c3d4d9dfc8e840f", "name": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:159)", "shortDescription": {"text": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:159)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:159` calls `GET /api/test/viewer` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/viewer`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e007d035669d4e25", "name": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:166)", "shortDescription": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:166)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:166` calls `POST /api/test/editor` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/editor`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f4077f3d80f5efe7", "name": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:179)", "shortDescription": {"text": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:179)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:179` calls `GET /api/test/viewer` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/viewer`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2f175883f5f42742", "name": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:190)", "shortDescription": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:190)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:190` calls `POST /api/test/editor` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/editor`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5685e0e5ec039d41", "name": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:203)", "shortDescription": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:203)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:203` calls `POST /api/test/editor` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/editor`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-54690c0fd007536c", "name": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:214)", "shortDescription": {"text": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:214)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:214` calls `GET /api/test/viewer` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/viewer`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-536e2e32d7046f41", "name": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:227)", "shortDescription": {"text": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:227)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:227` calls `GET /api/test/viewer` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/viewer`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-99de45953ebb45a0", "name": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:238)", "shortDescription": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:238)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:238` calls `POST /api/test/editor` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/editor`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ef086ea235f49831", "name": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:249)", "shortDescription": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:249)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:249` calls `POST /api/test/editor` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/editor`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5a8f4fdd9f37ddcd", "name": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:267)", "shortDescription": {"text": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:267)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:267` calls `GET /api/test/viewer` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/viewer`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cea542beb856bb64", "name": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:281)", "shortDescription": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:281)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:281` calls `POST /api/test/editor` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/editor`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b0e55cc02f5015de", "name": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:299)", "shortDescription": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:299)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:299` calls `POST /api/test/editor` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/editor`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-28f47ae55c46ad99", "name": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:314)", "shortDescription": {"text": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:314)"}, "fullDescription": {"text": "`server/middleware/auth.integration.test.ts:314` calls `GET /api/test/viewer` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/viewer`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-56d4f82ef3f82bb1", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/middleware/image-hosting-domain.cf-test.ts:22)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/middleware/image-hosting-domain.cf-test.ts:22)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.cf-test.ts:22` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8a597776ff10fdec", "name": "Dangling fetch: GET /blog/shot.png (server/middleware/image-hosting-domain.cf-test.ts:72)", "shortDescription": {"text": "Dangling fetch: GET /blog/shot.png (server/middleware/image-hosting-domain.cf-test.ts:72)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.cf-test.ts:72` calls `GET /blog/shot.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/blog/shot.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f0969ea813697f63", "name": "Dangling fetch: GET /api/nonexistent-endpoint (server/middleware/image-hosting-domain.integration.test.ts:114)", "shortDescription": {"text": "Dangling fetch: GET /api/nonexistent-endpoint (server/middleware/image-hosting-domain.integration.test.ts:114)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:114` calls `GET /api/nonexistent-endpoint` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/nonexistent-endpoint`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e896cc729d74d686", "name": "Dangling fetch: GET /blog/image.png (server/middleware/image-hosting-domain.integration.test.ts:162)", "shortDescription": {"text": "Dangling fetch: GET /blog/image.png (server/middleware/image-hosting-domain.integration.test.ts:162)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:162` calls `GET /blog/image.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/blog/image.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-25a4727e187ba8cb", "name": "Dangling fetch: GET /quota/image.png (server/middleware/image-hosting-domain.integration.test.ts:186)", "shortDescription": {"text": "Dangling fetch: GET /quota/image.png (server/middleware/image-hosting-domain.integration.test.ts:186)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:186` calls `GET /quota/image.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quota/image.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-df94d290437d5018", "name": "Dangling fetch: GET /quota/over.png (server/middleware/image-hosting-domain.integration.test.ts:213)", "shortDescription": {"text": "Dangling fetch: GET /quota/over.png (server/middleware/image-hosting-domain.integration.test.ts:213)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:213` calls `GET /quota/over.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quota/over.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-559d7ea049edc067", "name": "Dangling fetch: GET /quota/sign-fail.png (server/middleware/image-hosting-domain.integration.test.ts:239)", "shortDescription": {"text": "Dangling fetch: GET /quota/sign-fail.png (server/middleware/image-hosting-domain.integration.test.ts:239)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:239` calls `GET /quota/sign-fail.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quota/sign-fail.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f60932225e160a1b", "name": "Dangling fetch: GET /blog/notexist.png (server/middleware/image-hosting-domain.integration.test.ts:259)", "shortDescription": {"text": "Dangling fetch: GET /blog/notexist.png (server/middleware/image-hosting-domain.integration.test.ts:259)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:259` calls `GET /blog/notexist.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/blog/notexist.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5075b81e5ca748a6", "name": "Dangling fetch: GET /test/img.png (server/middleware/image-hosting-domain.integration.test.ts:274)", "shortDescription": {"text": "Dangling fetch: GET /test/img.png (server/middleware/image-hosting-domain.integration.test.ts:274)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:274` calls `GET /test/img.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/img.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-232cf7d789287971", "name": "Dangling fetch: GET /test/upper.png (server/middleware/image-hosting-domain.integration.test.ts:289)", "shortDescription": {"text": "Dangling fetch: GET /test/upper.png (server/middleware/image-hosting-domain.integration.test.ts:289)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:289` calls `GET /test/upper.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/test/upper.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9fea566f91096888", "name": "Dangling fetch: GET / (server/middleware/image-hosting-domain.integration.test.ts:303)", "shortDescription": {"text": "Dangling fetch: GET / (server/middleware/image-hosting-domain.integration.test.ts:303)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:303` calls `GET /` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-62d015c63b07e4d9", "name": "Dangling fetch: GET /ref/blocked.png (server/middleware/image-hosting-domain.integration.test.ts:326)", "shortDescription": {"text": "Dangling fetch: GET /ref/blocked.png (server/middleware/image-hosting-domain.integration.test.ts:326)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:326` calls `GET /ref/blocked.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/ref/blocked.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f1e4c9f4fa6d37d6", "name": "Dangling fetch: GET /ref/allowed.png (server/middleware/image-hosting-domain.integration.test.ts:346)", "shortDescription": {"text": "Dangling fetch: GET /ref/allowed.png (server/middleware/image-hosting-domain.integration.test.ts:346)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:346` calls `GET /ref/allowed.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/ref/allowed.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3b6d06c0032c1b01", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/middleware/image-hosting-domain.integration.test.ts:371)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/middleware/image-hosting-domain.integration.test.ts:371)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:371` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-46328d2be3dcf9ae", "name": "Dangling fetch: GET /shared/image.png (server/middleware/image-hosting-domain.integration.test.ts:384)", "shortDescription": {"text": "Dangling fetch: GET /shared/image.png (server/middleware/image-hosting-domain.integration.test.ts:384)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:384` calls `GET /shared/image.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shared/image.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9a0bd7de9229dd0c", "name": "Dangling fetch: GET /cnt/image.png (server/middleware/image-hosting-domain.integration.test.ts:404)", "shortDescription": {"text": "Dangling fetch: GET /cnt/image.png (server/middleware/image-hosting-domain.integration.test.ts:404)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:404` calls `GET /cnt/image.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/cnt/image.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a69aa9421d3a915c", "name": "Dangling fetch: GET /cnt/blocked.png (server/middleware/image-hosting-domain.integration.test.ts:422)", "shortDescription": {"text": "Dangling fetch: GET /cnt/blocked.png (server/middleware/image-hosting-domain.integration.test.ts:422)"}, "fullDescription": {"text": "`server/middleware/image-hosting-domain.integration.test.ts:422` calls `GET /cnt/blocked.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/cnt/blocked.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ba694c72f4cc0e40", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/test/setup.ts:597)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/test/setup.ts:597)"}, "fullDescription": {"text": "`server/test/setup.ts:597` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b694a543df1af236", "name": "Dangling fetch: GET /s/any-token (server/http/share-public.cf-test.ts:19)", "shortDescription": {"text": "Dangling fetch: GET /s/any-token (server/http/share-public.cf-test.ts:19)"}, "fullDescription": {"text": "`server/http/share-public.cf-test.ts:19` calls `GET /s/any-token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/s/any-token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-51291a771863ffde", "name": "Dangling fetch: GET /api/shares/nonexistent (server/http/share-public.cf-test.ts:32)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/nonexistent (server/http/share-public.cf-test.ts:32)"}, "fullDescription": {"text": "`server/http/share-public.cf-test.ts:32` calls `GET /api/shares/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fc2396abea6fc682", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/share-public.cf-test.ts:49)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/share-public.cf-test.ts:49)"}, "fullDescription": {"text": "`server/http/share-public.cf-test.ts:49` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-322cd469451ce7fe", "name": "Dangling fetch: GET /api/shares/${share.token} (server/http/share-public.cf-test.ts:95)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/share-public.cf-test.ts:95)"}, "fullDescription": {"text": "`server/http/share-public.cf-test.ts:95` calls `GET /api/shares/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1ce99208cbe491be", "name": "Dangling fetch: GET /r/nonexistent-cf-token (server/http/share-public.cf-test.ts:105)", "shortDescription": {"text": "Dangling fetch: GET /r/nonexistent-cf-token (server/http/share-public.cf-test.ts:105)"}, "fullDescription": {"text": "`server/http/share-public.cf-test.ts:105` calls `GET /r/nonexistent-cf-token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/nonexistent-cf-token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-342dc8af665e83e5", "name": "Dangling fetch: GET /r/${share.token} (server/http/share-public.cf-test.ts:129)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/share-public.cf-test.ts:129)"}, "fullDescription": {"text": "`server/http/share-public.cf-test.ts:129` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5b502990b85cb5b6", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/redirect.cf-test.ts:22)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/redirect.cf-test.ts:22)"}, "fullDescription": {"text": "`server/http/redirect.cf-test.ts:22` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ab1a849737e790cc", "name": "Dangling fetch: GET /r/unknownprefix_token (server/http/redirect.cf-test.ts:74)", "shortDescription": {"text": "Dangling fetch: GET /r/unknownprefix_token (server/http/redirect.cf-test.ts:74)"}, "fullDescription": {"text": "`server/http/redirect.cf-test.ts:74` calls `GET /r/unknownprefix_token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/unknownprefix_token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5ec33a45cff0090f", "name": "Dangling fetch: GET /dl/any-token (server/http/redirect.cf-test.ts:83)", "shortDescription": {"text": "Dangling fetch: GET /dl/any-token (server/http/redirect.cf-test.ts:83)"}, "fullDescription": {"text": "`server/http/redirect.cf-test.ts:83` calls `GET /dl/any-token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dl/any-token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a8c9f64b90ce9187", "name": "Dangling fetch: GET /r/${share.token} (server/http/redirect.cf-test.ts:102)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.cf-test.ts:102)"}, "fullDescription": {"text": "`server/http/redirect.cf-test.ts:102` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d63b5767b35a16cc", "name": "Dangling fetch: GET /r/${token} (server/http/redirect.cf-test.ts:120)", "shortDescription": {"text": "Dangling fetch: GET /r/${token} (server/http/redirect.cf-test.ts:120)"}, "fullDescription": {"text": "`server/http/redirect.cf-test.ts:120` calls `GET /r/${token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-45273f963167d663", "name": "Dangling fetch: GET /r/${token}.jpg (server/http/redirect.cf-test.ts:135)", "shortDescription": {"text": "Dangling fetch: GET /r/${token}.jpg (server/http/redirect.cf-test.ts:135)"}, "fullDescription": {"text": "`server/http/redirect.cf-test.ts:135` calls `GET /r/${token}.jpg` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>.jpg`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7036798c9a0fe781", "name": "Dangling fetch: GET /r/${share.token} (server/http/redirect.cf-test.ts:161)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.cf-test.ts:161)"}, "fullDescription": {"text": "`server/http/redirect.cf-test.ts:161` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2cfd988970e2401c", "name": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:20)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:20)"}, "fullDescription": {"text": "`server/http/quotas.integration.test.ts:20` calls `GET /api/quotas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ad6cfa55ac090071", "name": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:34)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:34)"}, "fullDescription": {"text": "`server/http/quotas.integration.test.ts:34` calls `GET /api/quotas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fa9a731b03fb6aaa", "name": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:41)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:41)"}, "fullDescription": {"text": "`server/http/quotas.integration.test.ts:41` calls `GET /api/quotas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eb7fa9bbc5ecff59", "name": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:57)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:57)"}, "fullDescription": {"text": "`server/http/quotas.integration.test.ts:57` calls `GET /api/quotas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-49b3159c5d1c8724", "name": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:81)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:81)"}, "fullDescription": {"text": "`server/http/quotas.integration.test.ts:81` calls `GET /api/quotas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a708b89921e6c23c", "name": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:115)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:115)"}, "fullDescription": {"text": "`server/http/quotas.integration.test.ts:115` calls `GET /api/quotas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-61d72dbbc5339dae", "name": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:150)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:150)"}, "fullDescription": {"text": "`server/http/quotas.integration.test.ts:150` calls `GET /api/quotas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-73912e218755a776", "name": "Dangling fetch: GET /api/quotas/me (server/http/quotas.integration.test.ts:172)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas/me (server/http/quotas.integration.test.ts:172)"}, "fullDescription": {"text": "`server/http/quotas.integration.test.ts:172` calls `GET /api/quotas/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b1e1fad17236c349", "name": "Dangling fetch: GET /api/quotas/me (server/http/quotas.integration.test.ts:179)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas/me (server/http/quotas.integration.test.ts:179)"}, "fullDescription": {"text": "`server/http/quotas.integration.test.ts:179` calls `GET /api/quotas/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fa5bd924399af6db", "name": "Dangling fetch: GET /api/quotas/me (server/http/quotas.integration.test.ts:203)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas/me (server/http/quotas.integration.test.ts:203)"}, "fullDescription": {"text": "`server/http/quotas.integration.test.ts:203` calls `GET /api/quotas/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-191320d9e32617a0", "name": "Dangling fetch: GET /api/quotas/me (server/http/quotas.integration.test.ts:227)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas/me (server/http/quotas.integration.test.ts:227)"}, "fullDescription": {"text": "`server/http/quotas.integration.test.ts:227` calls `GET /api/quotas/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7c643cac09023be6", "name": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:262)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:262)"}, "fullDescription": {"text": "`server/http/quotas.integration.test.ts:262` calls `GET /api/quotas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b2d1b7cbca9d8dd6", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/objects.cf-test.ts:15)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/objects.cf-test.ts:15)"}, "fullDescription": {"text": "`server/http/objects.cf-test.ts:15` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3904afc8728aa6c3", "name": "Dangling fetch: GET /api/objects (server/http/objects.cf-test.ts:27)", "shortDescription": {"text": "Dangling fetch: GET /api/objects (server/http/objects.cf-test.ts:27)"}, "fullDescription": {"text": "`server/http/objects.cf-test.ts:27` calls `GET /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6eff6c168b58e308", "name": "Dangling fetch: GET /api/objects (server/http/objects.cf-test.ts:34)", "shortDescription": {"text": "Dangling fetch: GET /api/objects (server/http/objects.cf-test.ts:34)"}, "fullDescription": {"text": "`server/http/objects.cf-test.ts:34` calls `GET /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-253c1346f9b09fbc", "name": "Dangling fetch: POST /api/objects (server/http/objects.cf-test.ts:43)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/objects.cf-test.ts:43)"}, "fullDescription": {"text": "`server/http/objects.cf-test.ts:43` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-044897a4b132b538", "name": "Dangling fetch: POST /api/objects (server/http/objects.cf-test.ts:54)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/objects.cf-test.ts:54)"}, "fullDescription": {"text": "`server/http/objects.cf-test.ts:54` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5560df1bd67e99f9", "name": "Dangling fetch: GET /api/objects/nonexistent (server/http/objects.cf-test.ts:65)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/nonexistent (server/http/objects.cf-test.ts:65)"}, "fullDescription": {"text": "`server/http/objects.cf-test.ts:65` calls `GET /api/objects/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a2aa3a3037627e63", "name": "Dangling fetch: PATCH /api/objects/nonexistent (server/http/objects.cf-test.ts:72)", "shortDescription": {"text": "Dangling fetch: PATCH /api/objects/nonexistent (server/http/objects.cf-test.ts:72)"}, "fullDescription": {"text": "`server/http/objects.cf-test.ts:72` calls `PATCH /api/objects/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fb1641d32e12947f", "name": "Dangling fetch: DELETE /api/objects/nonexistent (server/http/objects.cf-test.ts:83)", "shortDescription": {"text": "Dangling fetch: DELETE /api/objects/nonexistent (server/http/objects.cf-test.ts:83)"}, "fullDescription": {"text": "`server/http/objects.cf-test.ts:83` calls `DELETE /api/objects/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-156bba6bc75b22d8", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/notifications.integration.test.ts:24)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/notifications.integration.test.ts:24)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:24` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ba05cf12408fc217", "name": "Dangling fetch: GET /api/notifications (server/http/notifications.integration.test.ts:39)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications (server/http/notifications.integration.test.ts:39)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:39` calls `GET /api/notifications` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e88b530623cfe459", "name": "Dangling fetch: GET /api/notifications (server/http/notifications.integration.test.ts:51)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications (server/http/notifications.integration.test.ts:51)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:51` calls `GET /api/notifications` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f692ba3455645c44", "name": "Dangling fetch: GET /api/notifications?page=1&pageSize=3 (server/http/notifications.integration.test.ts:67)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications?page=1&pageSize=3 (server/http/notifications.integration.test.ts:67)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:67` calls `GET /api/notifications?page=1&pageSize=3` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c2f2a6dc1a2dc0ca", "name": "Dangling fetch: PATCH /api/notifications/${n1.id} (server/http/notifications.integration.test.ts:83)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/${n1.id} (server/http/notifications.integration.test.ts:83)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:83` calls `PATCH /api/notifications/${n1.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-16978174d1da36ac", "name": "Dangling fetch: GET /api/notifications?unread=true (server/http/notifications.integration.test.ts:89)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications?unread=true (server/http/notifications.integration.test.ts:89)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:89` calls `GET /api/notifications?unread=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1821df4c6b4eb11d", "name": "Dangling fetch: GET /api/notifications (server/http/notifications.integration.test.ts:102)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications (server/http/notifications.integration.test.ts:102)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:102` calls `GET /api/notifications` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a178b960c1ab944d", "name": "Dangling fetch: GET /api/notifications/stats (server/http/notifications.integration.test.ts:119)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/stats (server/http/notifications.integration.test.ts:119)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:119` calls `GET /api/notifications/stats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications/stats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eedae856ffba20e9", "name": "Dangling fetch: PATCH /api/notifications/${n.id} (server/http/notifications.integration.test.ts:134)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/${n.id} (server/http/notifications.integration.test.ts:134)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:134` calls `PATCH /api/notifications/${n.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bd04c92c30d0db78", "name": "Dangling fetch: GET /api/notifications/stats (server/http/notifications.integration.test.ts:141)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/stats (server/http/notifications.integration.test.ts:141)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:141` calls `GET /api/notifications/stats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications/stats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a7c8fa529ead8a76", "name": "Dangling fetch: PATCH /api/notifications/${n.id} (server/http/notifications.integration.test.ts:151)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/${n.id} (server/http/notifications.integration.test.ts:151)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:151` calls `PATCH /api/notifications/${n.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0473022de1601928", "name": "Dangling fetch: PATCH /api/notifications/${n.id} (server/http/notifications.integration.test.ts:156)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/${n.id} (server/http/notifications.integration.test.ts:156)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:156` calls `PATCH /api/notifications/${n.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-811d59f6993c5c13", "name": "Dangling fetch: PATCH /api/notifications/${n.id} (server/http/notifications.integration.test.ts:170)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/${n.id} (server/http/notifications.integration.test.ts:170)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:170` calls `PATCH /api/notifications/${n.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9e4c3a100386e96b", "name": "Dangling fetch: PATCH /api/notifications/nonexistent (server/http/notifications.integration.test.ts:182)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/nonexistent (server/http/notifications.integration.test.ts:182)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:182` calls `PATCH /api/notifications/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-813f37af2b963440", "name": "Dangling fetch: PATCH /api/notifications (server/http/notifications.integration.test.ts:201)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications (server/http/notifications.integration.test.ts:201)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:201` calls `PATCH /api/notifications` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-32b2cf24f58eceea", "name": "Dangling fetch: GET /api/notifications/stats (server/http/notifications.integration.test.ts:210)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/stats (server/http/notifications.integration.test.ts:210)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:210` calls `GET /api/notifications/stats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications/stats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-268f4a98a1187d0d", "name": "Dangling fetch: PATCH /api/notifications (server/http/notifications.integration.test.ts:221)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications (server/http/notifications.integration.test.ts:221)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:221` calls `PATCH /api/notifications` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a9aad4dfceb3585e", "name": "Dangling fetch: PATCH /api/notifications (server/http/notifications.integration.test.ts:235)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications (server/http/notifications.integration.test.ts:235)"}, "fullDescription": {"text": "`server/http/notifications.integration.test.ts:235` calls `PATCH /api/notifications` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-63b9721f5ecc6825", "name": "Dangling fetch: GET /api/events (server/http/events.integration.test.ts:40)", "shortDescription": {"text": "Dangling fetch: GET /api/events (server/http/events.integration.test.ts:40)"}, "fullDescription": {"text": "`server/http/events.integration.test.ts:40` calls `GET /api/events` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c46bd2bad151feb7", "name": "Dangling fetch: GET /api/events?downloadTasks=1 (server/http/events.integration.test.ts:51)", "shortDescription": {"text": "Dangling fetch: GET /api/events?downloadTasks=1 (server/http/events.integration.test.ts:51)"}, "fullDescription": {"text": "`server/http/events.integration.test.ts:51` calls `GET /api/events?downloadTasks=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-11854b330ef3e273", "name": "Dangling fetch: GET /api/events (server/http/events.integration.test.ts:67)", "shortDescription": {"text": "Dangling fetch: GET /api/events (server/http/events.integration.test.ts:67)"}, "fullDescription": {"text": "`server/http/events.integration.test.ts:67` calls `GET /api/events` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9775465cc7f0cb11", "name": "Dangling fetch: GET /api/events (server/http/events.integration.test.ts:84)", "shortDescription": {"text": "Dangling fetch: GET /api/events (server/http/events.integration.test.ts:84)"}, "fullDescription": {"text": "`server/http/events.integration.test.ts:84` calls `GET /api/events` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d04e7c34896ed93f", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/users.integration.test.ts:22)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/users.integration.test.ts:22)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:22` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d992791fa1f91fa8", "name": "Dangling fetch: GET /api/users (server/http/users.integration.test.ts:33)", "shortDescription": {"text": "Dangling fetch: GET /api/users (server/http/users.integration.test.ts:33)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:33` calls `GET /api/users` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-de2fec38a5181e3f", "name": "Dangling fetch: GET /api/users (server/http/users.integration.test.ts:49)", "shortDescription": {"text": "Dangling fetch: GET /api/users (server/http/users.integration.test.ts:49)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:49` calls `GET /api/users` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-485c57c44afaf84c", "name": "Dangling fetch: GET /api/users (server/http/users.integration.test.ts:57)", "shortDescription": {"text": "Dangling fetch: GET /api/users (server/http/users.integration.test.ts:57)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:57` calls `GET /api/users` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4fd8fc8c66b401ca", "name": "Dangling fetch: GET /api/users?search=quota-list@example.com (server/http/users.integration.test.ts:91)", "shortDescription": {"text": "Dangling fetch: GET /api/users?search=quota-list@example.com (server/http/users.integration.test.ts:91)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:91` calls `GET /api/users?search=quota-list@example.com` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8d8191521bdc9fb8", "name": "Dangling fetch: GET /api/users?search=quota-plan@example.com (server/http/users.integration.test.ts:129)", "shortDescription": {"text": "Dangling fetch: GET /api/users?search=quota-plan@example.com (server/http/users.integration.test.ts:129)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:129` calls `GET /api/users?search=quota-plan@example.com` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0910448e0cb71bf5", "name": "Dangling fetch: GET /api/users?search=email%20match (server/http/users.integration.test.ts:149)", "shortDescription": {"text": "Dangling fetch: GET /api/users?search=email%20match (server/http/users.integration.test.ts:149)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:149` calls `GET /api/users?search=email%20match` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b6025dd34b9f8f89", "name": "Dangling fetch: GET /api/users?search=username-target (server/http/users.integration.test.ts:155)", "shortDescription": {"text": "Dangling fetch: GET /api/users?search=username-target (server/http/users.integration.test.ts:155)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:155` calls `GET /api/users?search=username-target` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7f38d0aa876bfb32", "name": "Dangling fetch: GET /api/users?search=other@example.com (server/http/users.integration.test.ts:160)", "shortDescription": {"text": "Dangling fetch: GET /api/users?search=other@example.com (server/http/users.integration.test.ts:160)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:160` calls `GET /api/users?search=other@example.com` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fd70aa40508114b9", "name": "Dangling fetch: GET /api/users/${userId} (server/http/users.integration.test.ts:173)", "shortDescription": {"text": "Dangling fetch: GET /api/users/${userId} (server/http/users.integration.test.ts:173)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:173` calls `GET /api/users/${userId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-96aba3efdf7dd009", "name": "Dangling fetch: GET /api/users/nonexistent (server/http/users.integration.test.ts:182)", "shortDescription": {"text": "Dangling fetch: GET /api/users/nonexistent (server/http/users.integration.test.ts:182)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:182` calls `GET /api/users/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7e740173ea06a5d7", "name": "Dangling fetch: GET /api/users/${userId}/entitlements (server/http/users.integration.test.ts:193)", "shortDescription": {"text": "Dangling fetch: GET /api/users/${userId}/entitlements (server/http/users.integration.test.ts:193)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:193` calls `GET /api/users/${userId}/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eb5e0e1febf79b06", "name": "Dangling fetch: GET /api/users/nonexistent/entitlements (server/http/users.integration.test.ts:200)", "shortDescription": {"text": "Dangling fetch: GET /api/users/nonexistent/entitlements (server/http/users.integration.test.ts:200)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:200` calls `GET /api/users/nonexistent/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/nonexistent/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-791c322d9df8ee21", "name": "Dangling fetch: PATCH /api/users/${userId} (server/http/users.integration.test.ts:215)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/${userId} (server/http/users.integration.test.ts:215)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:215` calls `PATCH /api/users/${userId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-87d9d9193a39c559", "name": "Dangling fetch: PATCH /api/users/someid (server/http/users.integration.test.ts:232)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/someid (server/http/users.integration.test.ts:232)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:232` calls `PATCH /api/users/someid` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/someid`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e60ca0f8882aa7de", "name": "Dangling fetch: PATCH /api/users/nonexistent (server/http/users.integration.test.ts:243)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/nonexistent (server/http/users.integration.test.ts:243)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:243` calls `PATCH /api/users/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c55e9343308afe9d", "name": "Dangling fetch: DELETE /api/users/${userId} (server/http/users.integration.test.ts:259)", "shortDescription": {"text": "Dangling fetch: DELETE /api/users/${userId} (server/http/users.integration.test.ts:259)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:259` calls `DELETE /api/users/${userId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-de12e5e95b096bf8", "name": "Dangling fetch: PATCH /api/users/${userId} (server/http/users.integration.test.ts:283)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/${userId} (server/http/users.integration.test.ts:283)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:283` calls `PATCH /api/users/${userId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c56b7960c432932f", "name": "Dangling fetch: GET /api/quotas/me (server/http/users.integration.test.ts:290)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas/me (server/http/users.integration.test.ts:290)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:290` calls `GET /api/quotas/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-631468bee95d856b", "name": "Dangling fetch: DELETE /api/users/nonexistent (server/http/users.integration.test.ts:299)", "shortDescription": {"text": "Dangling fetch: DELETE /api/users/nonexistent (server/http/users.integration.test.ts:299)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:299` calls `DELETE /api/users/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2cf6688a40cf5b18", "name": "Dangling fetch: PATCH /api/users (server/http/users.integration.test.ts:316)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users (server/http/users.integration.test.ts:316)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:316` calls `PATCH /api/users` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-06fbedf0cd2ae9a5", "name": "Dangling fetch: PATCH /api/users (server/http/users.integration.test.ts:326)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users (server/http/users.integration.test.ts:326)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:326` calls `PATCH /api/users` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-35047284046ec8df", "name": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:344)", "shortDescription": {"text": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:344)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:344` calls `POST /api/users/${userId}/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1853fa5c5ee91223", "name": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:373)", "shortDescription": {"text": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:373)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:373` calls `POST /api/users/${userId}/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bf08bf97005e4836", "name": "Dangling fetch: PATCH /api/users/${userId}/entitlements/${entitlement.id} (server/http/users.integration.test.ts:381)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/${entitlement.id} (server/http/users.integration.test.ts:381)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:381` calls `PATCH /api/users/${userId}/entitlements/${entitlement.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-067999ced85bfea4", "name": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:403)", "shortDescription": {"text": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:403)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:403` calls `POST /api/users/${userId}/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1bead27febdc0e67", "name": "Dangling fetch: DELETE /api/users/${userId}/entitlements/${entitlement.id} (server/http/users.integration.test.ts:410)", "shortDescription": {"text": "Dangling fetch: DELETE /api/users/${userId}/entitlements/${entitlement.id} (server/http/users.integration.test.ts:410)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:410` calls `DELETE /api/users/${userId}/entitlements/${entitlement.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9b7bb0049442dcff", "name": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:430)", "shortDescription": {"text": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:430)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:430` calls `POST /api/users/${userId}/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d10f1ef09031b7a3", "name": "Dangling fetch: PATCH /api/users/${userId}/entitlements/${entitlement.id} (server/http/users.integration.test.ts:437)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/${entitlement.id} (server/http/users.integration.test.ts:437)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:437` calls `PATCH /api/users/${userId}/entitlements/${entitlement.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a1408c912c2ec624", "name": "Dangling fetch: PATCH /api/users/${userId}/entitlements/${entitlement.id} (server/http/users.integration.test.ts:449)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/${entitlement.id} (server/http/users.integration.test.ts:449)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:449` calls `PATCH /api/users/${userId}/entitlements/${entitlement.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5f7eff6ec931f899", "name": "Dangling fetch: PATCH /api/users/${userId}/entitlements/ent-no-meta (server/http/users.integration.test.ts:477)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/ent-no-meta (server/http/users.integration.test.ts:477)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:477` calls `PATCH /api/users/${userId}/entitlements/ent-no-meta` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements/ent-no-meta`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5c60ed95067a806c", "name": "Dangling fetch: PATCH /api/users/${userId}/entitlements/does-not-exist (server/http/users.integration.test.ts:496)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/does-not-exist (server/http/users.integration.test.ts:496)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:496` calls `PATCH /api/users/${userId}/entitlements/does-not-exist` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements/does-not-exist`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3ed5a50cb6bb35c4", "name": "Dangling fetch: DELETE /api/users/${userId}/entitlements/does-not-exist (server/http/users.integration.test.ts:503)", "shortDescription": {"text": "Dangling fetch: DELETE /api/users/${userId}/entitlements/does-not-exist (server/http/users.integration.test.ts:503)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:503` calls `DELETE /api/users/${userId}/entitlements/does-not-exist` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements/does-not-exist`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1aa08dc5f070cb7e", "name": "Dangling fetch: PATCH /api/users/${userId}/entitlements/any (server/http/users.integration.test.ts:518)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/any (server/http/users.integration.test.ts:518)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:518` calls `PATCH /api/users/${userId}/entitlements/any` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements/any`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bc53ca48411366fb", "name": "Dangling fetch: DELETE /api/users/${userId}/entitlements/any (server/http/users.integration.test.ts:525)", "shortDescription": {"text": "Dangling fetch: DELETE /api/users/${userId}/entitlements/any (server/http/users.integration.test.ts:525)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:525` calls `DELETE /api/users/${userId}/entitlements/any` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements/any`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-15a4e6b7e782ac36", "name": "Dangling fetch: DELETE /api/users/${userId}/entitlements/${free[0].id} (server/http/users.integration.test.ts:543)", "shortDescription": {"text": "Dangling fetch: DELETE /api/users/${userId}/entitlements/${free[0].id} (server/http/users.integration.test.ts:543)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:543` calls `DELETE /api/users/${userId}/entitlements/${free[0].id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8094cfb4884647e4", "name": "Dangling fetch: PATCH /api/users/${userId}/entitlements/${free[0].id} (server/http/users.integration.test.ts:565)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/${free[0].id} (server/http/users.integration.test.ts:565)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:565` calls `PATCH /api/users/${userId}/entitlements/${free[0].id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-82e80135f8ecb6ad", "name": "Dangling fetch: POST /api/users/${user.user.id}/entitlements (server/http/users.integration.test.ts:580)", "shortDescription": {"text": "Dangling fetch: POST /api/users/${user.user.id}/entitlements (server/http/users.integration.test.ts:580)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:580` calls `POST /api/users/${user.user.id}/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ec06655df3f60302", "name": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:597)", "shortDescription": {"text": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:597)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:597` calls `POST /api/users/${userId}/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f319fcfa7913a9f2", "name": "Dangling fetch: DELETE /api/users (server/http/users.integration.test.ts:617)", "shortDescription": {"text": "Dangling fetch: DELETE /api/users (server/http/users.integration.test.ts:617)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:617` calls `DELETE /api/users` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5c6a91433540757f", "name": "Dangling fetch: PATCH /api/users (server/http/users.integration.test.ts:632)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users (server/http/users.integration.test.ts:632)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:632` calls `PATCH /api/users` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-476420167feab5a1", "name": "Dangling fetch: DELETE /api/users (server/http/users.integration.test.ts:640)", "shortDescription": {"text": "Dangling fetch: DELETE /api/users (server/http/users.integration.test.ts:640)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:640` calls `DELETE /api/users` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-39e214bda37a056b", "name": "Dangling fetch: POST /api/users/${user.user.id}/entitlements (server/http/users.integration.test.ts:653)", "shortDescription": {"text": "Dangling fetch: POST /api/users/${user.user.id}/entitlements (server/http/users.integration.test.ts:653)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:653` calls `POST /api/users/${user.user.id}/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-575d483efe4b2016", "name": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:686)", "shortDescription": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:686)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:686` calls `PUT /api/users/me/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a9164c6b053f5146", "name": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:693)", "shortDescription": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:693)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:693` calls `PUT /api/users/me/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c05b7344e8793cf2", "name": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:706)", "shortDescription": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:706)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:706` calls `PUT /api/users/me/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4cdde4e850363949", "name": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:716)", "shortDescription": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:716)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:716` calls `PUT /api/users/me/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c8fd1244f877926c", "name": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:726)", "shortDescription": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:726)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:726` calls `PUT /api/users/me/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d4ef4a1e8f971376", "name": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:735)", "shortDescription": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:735)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:735` calls `PUT /api/users/me/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fc33ce406aeeee88", "name": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:746)", "shortDescription": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:746)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:746` calls `PUT /api/users/me/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bbe999cd90cacf84", "name": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:764)", "shortDescription": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:764)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:764` calls `PUT /api/users/me/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6dd9b2545d67590d", "name": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:769)", "shortDescription": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:769)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:769` calls `PUT /api/users/me/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f195acf9bbe8acf1", "name": "Dangling fetch: DELETE /api/users/me/avatar (server/http/users.integration.test.ts:784)", "shortDescription": {"text": "Dangling fetch: DELETE /api/users/me/avatar (server/http/users.integration.test.ts:784)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:784` calls `DELETE /api/users/me/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-039a893e25343234", "name": "Dangling fetch: DELETE /api/users/me/avatar (server/http/users.integration.test.ts:794)", "shortDescription": {"text": "Dangling fetch: DELETE /api/users/me/avatar (server/http/users.integration.test.ts:794)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:794` calls `DELETE /api/users/me/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-53896144a1bd5108", "name": "Dangling fetch: DELETE /api/users/me/avatar (server/http/users.integration.test.ts:808)", "shortDescription": {"text": "Dangling fetch: DELETE /api/users/me/avatar (server/http/users.integration.test.ts:808)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:808` calls `DELETE /api/users/me/avatar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/avatar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-325385e7a63295c0", "name": "Dangling fetch: GET /api/users/nonexistent (server/http/users.integration.test.ts:840)", "shortDescription": {"text": "Dangling fetch: GET /api/users/nonexistent (server/http/users.integration.test.ts:840)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:840` calls `GET /api/users/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b34e9800e1bd4d5c", "name": "Dangling fetch: GET /api/users/testuser (server/http/users.integration.test.ts:850)", "shortDescription": {"text": "Dangling fetch: GET /api/users/testuser (server/http/users.integration.test.ts:850)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:850` calls `GET /api/users/testuser` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/testuser`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1d5c0c7e99dff0ae", "name": "Dangling fetch: GET /api/users/testuser (server/http/users.integration.test.ts:861)", "shortDescription": {"text": "Dangling fetch: GET /api/users/testuser (server/http/users.integration.test.ts:861)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:861` calls `GET /api/users/testuser` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/testuser`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8e87ddf615d55038", "name": "Dangling fetch: GET /api/users/orphanuser (server/http/users.integration.test.ts:873)", "shortDescription": {"text": "Dangling fetch: GET /api/users/orphanuser (server/http/users.integration.test.ts:873)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:873` calls `GET /api/users/orphanuser` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/orphanuser`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ed22f3354c87a80c", "name": "Dangling fetch: GET /api/users/nonexistent/objects (server/http/users.integration.test.ts:884)", "shortDescription": {"text": "Dangling fetch: GET /api/users/nonexistent/objects (server/http/users.integration.test.ts:884)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:884` calls `GET /api/users/nonexistent/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/nonexistent/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2b3039f961b9e1da", "name": "Dangling fetch: GET /api/users/testuser/objects (server/http/users.integration.test.ts:894)", "shortDescription": {"text": "Dangling fetch: GET /api/users/testuser/objects (server/http/users.integration.test.ts:894)"}, "fullDescription": {"text": "`server/http/users.integration.test.ts:894` calls `GET /api/users/testuser/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/testuser/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-605990b7ac44a5eb", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/notifications.cf-test.ts:15)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/notifications.cf-test.ts:15)"}, "fullDescription": {"text": "`server/http/notifications.cf-test.ts:15` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-adc402091391b1ce", "name": "Dangling fetch: GET /api/notifications (server/http/notifications.cf-test.ts:27)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications (server/http/notifications.cf-test.ts:27)"}, "fullDescription": {"text": "`server/http/notifications.cf-test.ts:27` calls `GET /api/notifications` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9aa5654e7c227cc1", "name": "Dangling fetch: GET /api/notifications (server/http/notifications.cf-test.ts:34)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications (server/http/notifications.cf-test.ts:34)"}, "fullDescription": {"text": "`server/http/notifications.cf-test.ts:34` calls `GET /api/notifications` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b1d516c36713ebc4", "name": "Dangling fetch: GET /api/notifications/stats (server/http/notifications.cf-test.ts:44)", "shortDescription": {"text": "Dangling fetch: GET /api/notifications/stats (server/http/notifications.cf-test.ts:44)"}, "fullDescription": {"text": "`server/http/notifications.cf-test.ts:44` calls `GET /api/notifications/stats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications/stats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b44e0f2ac2ac5bf5", "name": "Dangling fetch: PATCH /api/notifications (server/http/notifications.cf-test.ts:53)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications (server/http/notifications.cf-test.ts:53)"}, "fullDescription": {"text": "`server/http/notifications.cf-test.ts:53` calls `PATCH /api/notifications` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4f122841dfc19af1", "name": "Dangling fetch: PATCH /api/notifications/nonexistent (server/http/notifications.cf-test.ts:66)", "shortDescription": {"text": "Dangling fetch: PATCH /api/notifications/nonexistent (server/http/notifications.cf-test.ts:66)"}, "fullDescription": {"text": "`server/http/notifications.cf-test.ts:66` calls `PATCH /api/notifications/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/notifications/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-74520bb66eaad582", "name": "Dangling fetch: POST /api/internal/instance-telemetry/report (server/http/internal.test.ts:19)", "shortDescription": {"text": "Dangling fetch: POST /api/internal/instance-telemetry/report (server/http/internal.test.ts:19)"}, "fullDescription": {"text": "`server/http/internal.test.ts:19` calls `POST /api/internal/instance-telemetry/report` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/internal/instance-telemetry/report`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b1ecfb04e8ffbe48", "name": "Dangling fetch: POST /api/internal/instance-telemetry/report (server/http/internal.test.ts:31)", "shortDescription": {"text": "Dangling fetch: POST /api/internal/instance-telemetry/report (server/http/internal.test.ts:31)"}, "fullDescription": {"text": "`server/http/internal.test.ts:31` calls `POST /api/internal/instance-telemetry/report` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/internal/instance-telemetry/report`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-37a08ba36310d21f", "name": "Dangling fetch: POST /api/internal/instance-telemetry/report (server/http/internal.test.ts:45)", "shortDescription": {"text": "Dangling fetch: POST /api/internal/instance-telemetry/report (server/http/internal.test.ts:45)"}, "fullDescription": {"text": "`server/http/internal.test.ts:45` calls `POST /api/internal/instance-telemetry/report` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/internal/instance-telemetry/report`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3feb27d814e4088c", "name": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:116)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:116)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:116` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-638841577783b544", "name": "Dangling fetch: GET /r/ds_unknowntoken (server/http/redirect.integration.test.ts:124)", "shortDescription": {"text": "Dangling fetch: GET /r/ds_unknowntoken (server/http/redirect.integration.test.ts:124)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:124` calls `GET /r/ds_unknowntoken` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ds_unknowntoken`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-24ab660764d1c4f3", "name": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:138)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:138)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:138` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0be2aa68443ed3a4", "name": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:164)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:164)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:164` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-455b0b6de196c085", "name": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:188)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:188)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:188` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-19afc603e4d44c5a", "name": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:213)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:213)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:213` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-27697183ece01c50", "name": "Dangling fetch: GET /r/ih_testtoken1 (server/http/redirect.integration.test.ts:236)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_testtoken1 (server/http/redirect.integration.test.ts:236)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:236` calls `GET /r/ih_testtoken1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_testtoken1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a2347f4390304ac8", "name": "Dangling fetch: GET /r/ih_exttest1.png (server/http/redirect.integration.test.ts:250)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_exttest1.png (server/http/redirect.integration.test.ts:250)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:250` calls `GET /r/ih_exttest1.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_exttest1.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fceaf34ad98d5919", "name": "Dangling fetch: GET /r/ih_exttest2.webp (server/http/redirect.integration.test.ts:262)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_exttest2.webp (server/http/redirect.integration.test.ts:262)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:262` calls `GET /r/ih_exttest2.webp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_exttest2.webp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2eea5fc3671e968a", "name": "Dangling fetch: GET /r/ih_doesnotexist (server/http/redirect.integration.test.ts:269)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_doesnotexist (server/http/redirect.integration.test.ts:269)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:269` calls `GET /r/ih_doesnotexist` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_doesnotexist`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5dfc1838cdb9c30c", "name": "Dangling fetch: GET /r/ih_drafttoken (server/http/redirect.integration.test.ts:280)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_drafttoken (server/http/redirect.integration.test.ts:280)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:280` calls `GET /r/ih_drafttoken` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_drafttoken`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5b564846b49651fb", "name": "Dangling fetch: GET /r/ih_counttest1 (server/http/redirect.integration.test.ts:292)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_counttest1 (server/http/redirect.integration.test.ts:292)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:292` calls `GET /r/ih_counttest1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_counttest1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3803e8c4a792a797", "name": "Dangling fetch: GET /r/ih_quotaok (server/http/redirect.integration.test.ts:309)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_quotaok (server/http/redirect.integration.test.ts:309)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:309` calls `GET /r/ih_quotaok` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_quotaok`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5c332bc4ef47fc9c", "name": "Dangling fetch: GET /r/ih_signfail (server/http/redirect.integration.test.ts:332)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_signfail (server/http/redirect.integration.test.ts:332)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:332` calls `GET /r/ih_signfail` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_signfail`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-44bf10f7864cdcca", "name": "Dangling fetch: GET /r/ih_quotarepeat (server/http/redirect.integration.test.ts:356)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_quotarepeat (server/http/redirect.integration.test.ts:356)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:356` calls `GET /r/ih_quotarepeat` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_quotarepeat`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c5bfa0055fc3a5da", "name": "Dangling fetch: GET /r/ih_quotarepeat (server/http/redirect.integration.test.ts:360)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_quotarepeat (server/http/redirect.integration.test.ts:360)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:360` calls `GET /r/ih_quotarepeat` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_quotarepeat`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9e7320e42589a00c", "name": "Dangling fetch: GET /r/ih_counttest2 (server/http/redirect.integration.test.ts:374)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_counttest2 (server/http/redirect.integration.test.ts:374)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:374` calls `GET /r/ih_counttest2` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_counttest2`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9d2d12ff09cc37b4", "name": "Dangling fetch: GET /r/ih_reftest1 (server/http/redirect.integration.test.ts:390)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_reftest1 (server/http/redirect.integration.test.ts:390)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:390` calls `GET /r/ih_reftest1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_reftest1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d16c0ec1f9d8b13d", "name": "Dangling fetch: GET /r/ih_reftest2 (server/http/redirect.integration.test.ts:405)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_reftest2 (server/http/redirect.integration.test.ts:405)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:405` calls `GET /r/ih_reftest2` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_reftest2`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-88a2460f64aaf41d", "name": "Dangling fetch: GET /r/ih_reftest3 (server/http/redirect.integration.test.ts:420)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_reftest3 (server/http/redirect.integration.test.ts:420)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:420` calls `GET /r/ih_reftest3` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_reftest3`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1808a5714f91da72", "name": "Dangling fetch: GET /r/ih_reftest4 (server/http/redirect.integration.test.ts:432)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_reftest4 (server/http/redirect.integration.test.ts:432)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:432` calls `GET /r/ih_reftest4` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_reftest4`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-788fec99e72cbd3b", "name": "Dangling fetch: GET /r/ih_reftest5 (server/http/redirect.integration.test.ts:447)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_reftest5 (server/http/redirect.integration.test.ts:447)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:447` calls `GET /r/ih_reftest5` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_reftest5`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-11d491e12805d61b", "name": "Dangling fetch: GET /r/ih_reftest6 (server/http/redirect.integration.test.ts:462)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_reftest6 (server/http/redirect.integration.test.ts:462)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:462` calls `GET /r/ih_reftest6` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_reftest6`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-454ff5c20dcc1d2e", "name": "Dangling fetch: GET /r/unknownprefix_abc (server/http/redirect.integration.test.ts:475)", "shortDescription": {"text": "Dangling fetch: GET /r/unknownprefix_abc (server/http/redirect.integration.test.ts:475)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:475` calls `GET /r/unknownprefix_abc` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/unknownprefix_abc`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ca721707d812b82d", "name": "Dangling fetch: GET /r/abcdefghij (server/http/redirect.integration.test.ts:481)", "shortDescription": {"text": "Dangling fetch: GET /r/abcdefghij (server/http/redirect.integration.test.ts:481)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:481` calls `GET /r/abcdefghij` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/abcdefghij`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-335168d7b286ce75", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/redirect.integration.test.ts:494)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/redirect.integration.test.ts:494)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:494` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fc44224105b864c5", "name": "Dangling fetch: GET /r/ih_isolationtest (server/http/redirect.integration.test.ts:514)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_isolationtest (server/http/redirect.integration.test.ts:514)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:514` calls `GET /r/ih_isolationtest` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_isolationtest`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3f372c94b9b27f2d", "name": "Dangling fetch: GET /r/ih_quotatest (server/http/redirect.integration.test.ts:533)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_quotatest (server/http/redirect.integration.test.ts:533)"}, "fullDescription": {"text": "`server/http/redirect.integration.test.ts:533` calls `GET /r/ih_quotatest` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_quotatest`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-25461f7ae60b24bb", "name": "Dangling fetch: GET /api/objects (server/http/objects.integration.test.ts:151)", "shortDescription": {"text": "Dangling fetch: GET /api/objects (server/http/objects.integration.test.ts:151)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:151` calls `GET /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5c6788b2548b7439", "name": "Dangling fetch: GET /api/objects (server/http/objects.integration.test.ts:158)", "shortDescription": {"text": "Dangling fetch: GET /api/objects (server/http/objects.integration.test.ts:158)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:158` calls `GET /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ea28390869503276", "name": "Dangling fetch: GET /api/objects?page=2&pageSize=10 (server/http/objects.integration.test.ts:167)", "shortDescription": {"text": "Dangling fetch: GET /api/objects?page=2&pageSize=10 (server/http/objects.integration.test.ts:167)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:167` calls `GET /api/objects?page=2&pageSize=10` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b6340ebe6a2e0c85", "name": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:178)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:178)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:178` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bafec12587929b23", "name": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:195)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:195)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:195` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8c9e435ac499b837", "name": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:206)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:206)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:206` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-73fad7c5ffe70f49", "name": "Dangling fetch: GET /api/objects (server/http/objects.integration.test.ts:224)", "shortDescription": {"text": "Dangling fetch: GET /api/objects (server/http/objects.integration.test.ts:224)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:224` calls `GET /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-01241e83af64167a", "name": "Dangling fetch: GET /api/objects?status=draft (server/http/objects.integration.test.ts:259)", "shortDescription": {"text": "Dangling fetch: GET /api/objects?status=draft (server/http/objects.integration.test.ts:259)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:259` calls `GET /api/objects?status=draft` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4a477a37c03fd47e", "name": "Dangling fetch: GET /api/objects/f1 (server/http/objects.integration.test.ts:272)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/f1 (server/http/objects.integration.test.ts:272)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:272` calls `GET /api/objects/f1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/f1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-225a1bc761f312a6", "name": "Dangling fetch: GET /api/objects/nonexistent (server/http/objects.integration.test.ts:284)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/nonexistent (server/http/objects.integration.test.ts:284)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:284` calls `GET /api/objects/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6efb5c9ba67d9fb4", "name": "Dangling fetch: PATCH /api/objects/f1 (server/http/objects.integration.test.ts:295)", "shortDescription": {"text": "Dangling fetch: PATCH /api/objects/f1 (server/http/objects.integration.test.ts:295)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:295` calls `PATCH /api/objects/f1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/f1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-451b018cf5d2e142", "name": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:313)", "shortDescription": {"text": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:313)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:313` calls `PATCH /api/objects/m1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-df608e9ecf648738", "name": "Dangling fetch: PATCH /api/objects/nonexistent (server/http/objects.integration.test.ts:326)", "shortDescription": {"text": "Dangling fetch: PATCH /api/objects/nonexistent (server/http/objects.integration.test.ts:326)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:326` calls `PATCH /api/objects/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0d4efedaa7bc2bd7", "name": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:341)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:341)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:341` calls `PUT /api/objects/m1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b9a8f164e6cbedf8", "name": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:358)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:358)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:358` calls `PUT /api/objects/m1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e8548cf60786ca60", "name": "Dangling fetch: DELETE /api/objects/draft-cancel (server/http/objects.integration.test.ts:375)", "shortDescription": {"text": "Dangling fetch: DELETE /api/objects/draft-cancel (server/http/objects.integration.test.ts:375)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:375` calls `DELETE /api/objects/draft-cancel` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/draft-cancel`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8ae6b2fc28b12f3b", "name": "Dangling fetch: GET /api/objects/draft-cancel (server/http/objects.integration.test.ts:385)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/draft-cancel (server/http/objects.integration.test.ts:385)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:385` calls `GET /api/objects/draft-cancel` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/draft-cancel`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fe485a4455413d77", "name": "Dangling fetch: DELETE /api/objects/active-cancel (server/http/objects.integration.test.ts:396)", "shortDescription": {"text": "Dangling fetch: DELETE /api/objects/active-cancel (server/http/objects.integration.test.ts:396)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:396` calls `DELETE /api/objects/active-cancel` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/active-cancel`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b3e51843dc5478cc", "name": "Dangling fetch: DELETE /api/objects/f1 (server/http/objects.integration.test.ts:408)", "shortDescription": {"text": "Dangling fetch: DELETE /api/objects/f1 (server/http/objects.integration.test.ts:408)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:408` calls `DELETE /api/objects/f1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/f1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f8c1f680268a14d2", "name": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:419)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:419)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:419` calls `PUT /api/objects/f1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/f1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-516b45b4f9e0a31b", "name": "Dangling fetch: DELETE /api/objects/f1 (server/http/objects.integration.test.ts:426)", "shortDescription": {"text": "Dangling fetch: DELETE /api/objects/f1 (server/http/objects.integration.test.ts:426)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:426` calls `DELETE /api/objects/f1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/f1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1c7e3c52392bdc05", "name": "Dangling fetch: GET /api/objects/f1 (server/http/objects.integration.test.ts:432)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/f1 (server/http/objects.integration.test.ts:432)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:432` calls `GET /api/objects/f1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/f1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-77569e09f008c13b", "name": "Dangling fetch: PUT /api/objects/movie-folder/status (server/http/objects.integration.test.ts:445)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/movie-folder/status (server/http/objects.integration.test.ts:445)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:445` calls `PUT /api/objects/movie-folder/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/movie-folder/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d6d35e68c5f16ae1", "name": "Dangling fetch: DELETE /api/objects/movie-folder (server/http/objects.integration.test.ts:452)", "shortDescription": {"text": "Dangling fetch: DELETE /api/objects/movie-folder (server/http/objects.integration.test.ts:452)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:452` calls `DELETE /api/objects/movie-folder` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/movie-folder`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-814ba6386b7e9b19", "name": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:468)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:468)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:468` calls `PUT /api/objects/m1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-879a63f2102180fe", "name": "Dangling fetch: GET /api/objects?status=trashed (server/http/objects.integration.test.ts:478)", "shortDescription": {"text": "Dangling fetch: GET /api/objects?status=trashed (server/http/objects.integration.test.ts:478)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:478` calls `GET /api/objects?status=trashed` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ec2c24bb1954f6ee", "name": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:490)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:490)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:490` calls `PUT /api/objects/m1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1e3cbfb0ff4e3976", "name": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:510)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:510)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:510` calls `PUT /api/objects/f1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/f1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-79caa43546fcdb1e", "name": "Dangling fetch: GET /api/objects?status=trashed (server/http/objects.integration.test.ts:517)", "shortDescription": {"text": "Dangling fetch: GET /api/objects?status=trashed (server/http/objects.integration.test.ts:517)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:517` calls `GET /api/objects?status=trashed` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d9fe44206ce21dbf", "name": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:523)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:523)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:523` calls `PUT /api/objects/f1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/f1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-488773ac5cdbf8c5", "name": "Dangling fetch: GET /api/objects/m2 (server/http/objects.integration.test.ts:528)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/m2 (server/http/objects.integration.test.ts:528)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:528` calls `GET /api/objects/m2` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m2`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3935c2c5fcc7acd9", "name": "Dangling fetch: PUT /api/objects/album/status (server/http/objects.integration.test.ts:543)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/album/status (server/http/objects.integration.test.ts:543)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:543` calls `PUT /api/objects/album/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/album/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cf11e0f9b723d368", "name": "Dangling fetch: GET /api/objects?status=trashed (server/http/objects.integration.test.ts:550)", "shortDescription": {"text": "Dangling fetch: GET /api/objects?status=trashed (server/http/objects.integration.test.ts:550)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:550` calls `GET /api/objects?status=trashed` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-494f12ca0ae88895", "name": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:566)", "shortDescription": {"text": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:566)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:566` calls `DELETE /api/trash` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/trash`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-57c2751a26534e83", "name": "Dangling fetch: GET /api/objects/m1 (server/http/objects.integration.test.ts:571)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/m1 (server/http/objects.integration.test.ts:571)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:571` calls `GET /api/objects/m1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-66a5ca73e757757e", "name": "Dangling fetch: DELETE /api/objects/nonexistent (server/http/objects.integration.test.ts:578)", "shortDescription": {"text": "Dangling fetch: DELETE /api/objects/nonexistent (server/http/objects.integration.test.ts:578)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:578` calls `DELETE /api/objects/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0b0bb52e35a5cfc8", "name": "Dangling fetch: POST /api/objects/f1/copies (server/http/objects.integration.test.ts:593)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/f1/copies (server/http/objects.integration.test.ts:593)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:593` calls `POST /api/objects/f1/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/f1/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-799395e483c00f13", "name": "Dangling fetch: POST /api/objects/nonexistent/copies (server/http/objects.integration.test.ts:609)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/nonexistent/copies (server/http/objects.integration.test.ts:609)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:609` calls `POST /api/objects/nonexistent/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/nonexistent/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-39c44a1f7f50aa8f", "name": "Dangling fetch: PUT /api/objects/nonexistent/status (server/http/objects.integration.test.ts:620)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/nonexistent/status (server/http/objects.integration.test.ts:620)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:620` calls `PUT /api/objects/nonexistent/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/nonexistent/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-49f7b256374881f4", "name": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:632)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:632)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:632` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b84d3bc2aae40179", "name": "Dangling fetch: POST /api/objects/m1/copies (server/http/objects.integration.test.ts:651)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/m1/copies (server/http/objects.integration.test.ts:651)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:651` calls `POST /api/objects/m1/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-535464eb150ac5c5", "name": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:667)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:667)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:667` calls `PUT /api/objects/m1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-33e02d1679685351", "name": "Dangling fetch: DELETE /api/objects/m1 (server/http/objects.integration.test.ts:672)", "shortDescription": {"text": "Dangling fetch: DELETE /api/objects/m1 (server/http/objects.integration.test.ts:672)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:672` calls `DELETE /api/objects/m1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d1db5c1c66428376", "name": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:688)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:688)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:688` calls `PUT /api/objects/f1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/f1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-75cf2cd70c16c8a6", "name": "Dangling fetch: DELETE /api/objects/f1 (server/http/objects.integration.test.ts:693)", "shortDescription": {"text": "Dangling fetch: DELETE /api/objects/f1 (server/http/objects.integration.test.ts:693)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:693` calls `DELETE /api/objects/f1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/f1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5edb24a6f42b7c1b", "name": "Dangling fetch: PUT /api/objects/nonexistent/status (server/http/objects.integration.test.ts:703)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/nonexistent/status (server/http/objects.integration.test.ts:703)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:703` calls `PUT /api/objects/nonexistent/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/nonexistent/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e035b4f0e439ba8b", "name": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:717)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:717)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:717` calls `PUT /api/objects/m1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0012f7d6be45cf35", "name": "Dangling fetch: PUT /api/objects/nonexistent/status (server/http/objects.integration.test.ts:730)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/nonexistent/status (server/http/objects.integration.test.ts:730)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:730` calls `PUT /api/objects/nonexistent/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/nonexistent/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-44277434b688b025", "name": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:745)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:745)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:745` calls `PUT /api/objects/m1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-50f4bfc494ea61d5", "name": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:762)", "shortDescription": {"text": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:762)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:762` calls `DELETE /api/trash` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/trash`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cbb999bb435756a6", "name": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:776)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:776)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:776` calls `PUT /api/objects/f1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/f1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d1dbaeba5550d99e", "name": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:782)", "shortDescription": {"text": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:782)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:782` calls `DELETE /api/trash` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/trash`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b7ab331c706211f9", "name": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:791)", "shortDescription": {"text": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:791)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:791` calls `DELETE /api/trash` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/trash`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bbf90aaf350cc12a", "name": "Dangling fetch: GET /api/objects/m1 (server/http/objects.integration.test.ts:804)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/m1 (server/http/objects.integration.test.ts:804)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:804` calls `GET /api/objects/m1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4868da6d7fb41ca8", "name": "Dangling fetch: GET /api/objects/m1 (server/http/objects.integration.test.ts:829)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/m1 (server/http/objects.integration.test.ts:829)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:829` calls `GET /api/objects/m1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9f94f05f5618648f", "name": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:1039)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:1039)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1039` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3a151b628ff03913", "name": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:1059)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:1059)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1059` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c44ebe1d1c05f3f4", "name": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:1078)", "shortDescription": {"text": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:1078)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1078` calls `PATCH /api/objects/m1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a476a0ca9b7bb7b7", "name": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:1098)", "shortDescription": {"text": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:1098)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1098` calls `PATCH /api/objects/m1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0cee9edcdfa078ff", "name": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:1117)", "shortDescription": {"text": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:1117)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1117` calls `PATCH /api/objects/m1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dd34cac271c6d1cc", "name": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:1136)", "shortDescription": {"text": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:1136)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1136` calls `PATCH /api/objects/m1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a4778098b633f75d", "name": "Dangling fetch: PUT /api/objects/draft1/status (server/http/objects.integration.test.ts:1157)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/draft1/status (server/http/objects.integration.test.ts:1157)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1157` calls `PUT /api/objects/draft1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/draft1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-68e2c5d16dbee161", "name": "Dangling fetch: PUT /api/objects/trashed1/status (server/http/objects.integration.test.ts:1176)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/trashed1/status (server/http/objects.integration.test.ts:1176)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1176` calls `PUT /api/objects/trashed1/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/trashed1/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2b3d11de3ce8cfc6", "name": "Dangling fetch: PUT /api/objects/trashed2/status (server/http/objects.integration.test.ts:1195)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/trashed2/status (server/http/objects.integration.test.ts:1195)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1195` calls `PUT /api/objects/trashed2/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/trashed2/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-56c3721920d70c99", "name": "Dangling fetch: POST /api/objects/src1/copies (server/http/objects.integration.test.ts:1215)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/src1/copies (server/http/objects.integration.test.ts:1215)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1215` calls `POST /api/objects/src1/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/src1/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8a19df5f6b5c51de", "name": "Dangling fetch: POST /api/objects/src2/copies (server/http/objects.integration.test.ts:1234)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/src2/copies (server/http/objects.integration.test.ts:1234)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1234` calls `POST /api/objects/src2/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/src2/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bbe053f7e5fd5010", "name": "Dangling fetch: POST /api/objects/${id}/transfers (server/http/objects.integration.test.ts:1290)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/${id}/transfers (server/http/objects.integration.test.ts:1290)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1290` calls `POST /api/objects/${id}/transfers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/transfers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-be11c3ebeb7d76af", "name": "Dangling fetch: POST /api/objects/m-copy-over/copies (server/http/objects.integration.test.ts:1543)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/m-copy-over/copies (server/http/objects.integration.test.ts:1543)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1543` calls `POST /api/objects/m-copy-over/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-copy-over/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0d526389854d2da6", "name": "Dangling fetch: POST /api/objects/m-copy-ok/copies (server/http/objects.integration.test.ts:1562)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/m-copy-ok/copies (server/http/objects.integration.test.ts:1562)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1562` calls `POST /api/objects/m-copy-ok/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-copy-ok/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b77beded350b5d8f", "name": "Dangling fetch: POST /api/objects/m-copy-st/copies (server/http/objects.integration.test.ts:1581)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/m-copy-st/copies (server/http/objects.integration.test.ts:1581)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1581` calls `POST /api/objects/m-copy-st/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-copy-st/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1ff3bb6445928fca", "name": "Dangling fetch: POST /api/objects/m-copy-s3-fail/copies (server/http/objects.integration.test.ts:1600)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/m-copy-s3-fail/copies (server/http/objects.integration.test.ts:1600)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1600` calls `POST /api/objects/m-copy-s3-fail/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-copy-s3-fail/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d799c59f00caada4", "name": "Dangling fetch: POST /api/objects/m-copy-conflict/copies (server/http/objects.integration.test.ts:1621)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/m-copy-conflict/copies (server/http/objects.integration.test.ts:1621)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1621` calls `POST /api/objects/m-copy-conflict/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-copy-conflict/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0ffb933fd7622074", "name": "Dangling fetch: POST /api/objects/m-zero/copies (server/http/objects.integration.test.ts:1648)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/m-zero/copies (server/http/objects.integration.test.ts:1648)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1648` calls `POST /api/objects/m-zero/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-zero/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1b5acc6819e69114", "name": "Dangling fetch: POST /api/objects/m-copy-nolimit/copies (server/http/objects.integration.test.ts:1667)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/m-copy-nolimit/copies (server/http/objects.integration.test.ts:1667)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1667` calls `POST /api/objects/m-copy-nolimit/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-copy-nolimit/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2f10e1d8646dc0be", "name": "Dangling fetch: POST /api/objects/m-copy-qlimit/copies (server/http/objects.integration.test.ts:1683)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/m-copy-qlimit/copies (server/http/objects.integration.test.ts:1683)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1683` calls `POST /api/objects/m-copy-qlimit/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-copy-qlimit/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b7c6679f179de4c6", "name": "Dangling fetch: POST /api/objects/nonexistent/copies (server/http/objects.integration.test.ts:1695)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/nonexistent/copies (server/http/objects.integration.test.ts:1695)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1695` calls `POST /api/objects/nonexistent/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/nonexistent/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f68b917f4d63c0d6", "name": "Dangling fetch: PUT /api/objects/m-trash-usage/status (server/http/objects.integration.test.ts:1713)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m-trash-usage/status (server/http/objects.integration.test.ts:1713)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1713` calls `PUT /api/objects/m-trash-usage/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-trash-usage/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1592f18aef5ddf2d", "name": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:1735)", "shortDescription": {"text": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:1735)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1735` calls `DELETE /api/trash` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/trash`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-42c1235820104f29", "name": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:1753)", "shortDescription": {"text": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:1753)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1753` calls `DELETE /api/trash` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/trash`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-63425a8b7798bab9", "name": "Dangling fetch: GET /api/objects/m-download-ok (server/http/objects.integration.test.ts:1777)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/m-download-ok (server/http/objects.integration.test.ts:1777)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1777` calls `GET /api/objects/m-download-ok` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-download-ok`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-616217e17f872447", "name": "Dangling fetch: GET /api/objects/m-download-reset (server/http/objects.integration.test.ts:1801)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/m-download-reset (server/http/objects.integration.test.ts:1801)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1801` calls `GET /api/objects/m-download-reset` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-download-reset`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ad04982c73e5164a", "name": "Dangling fetch: GET /api/objects/m-download-sign-fail (server/http/objects.integration.test.ts:1826)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/m-download-sign-fail (server/http/objects.integration.test.ts:1826)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1826` calls `GET /api/objects/m-download-sign-fail` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-download-sign-fail`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3a18c83e1f4a3f44", "name": "Dangling fetch: GET /api/objects/m-download-over (server/http/objects.integration.test.ts:1863)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/m-download-over (server/http/objects.integration.test.ts:1863)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1863` calls `GET /api/objects/m-download-over` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-download-over`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ce8e5f135fdae6fd", "name": "Dangling fetch: PUT /api/objects/m-done/status (server/http/objects.integration.test.ts:1887)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m-done/status (server/http/objects.integration.test.ts:1887)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1887` calls `PUT /api/objects/m-done/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-done/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-44f342d4229a9ace", "name": "Dangling fetch: PUT /api/objects/m-done-entitlement/status (server/http/objects.integration.test.ts:1910)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m-done-entitlement/status (server/http/objects.integration.test.ts:1910)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1910` calls `PUT /api/objects/m-done-entitlement/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-done-entitlement/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5eee8da3bf283995", "name": "Dangling fetch: PUT /api/objects/m-done-zero-base-entitlement/status (server/http/objects.integration.test.ts:1938)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m-done-zero-base-entitlement/status (server/http/objects.integration.test.ts:1938)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1938` calls `PUT /api/objects/m-done-zero-base-entitlement/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-done-zero-base-entitlement/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-54d0b6fdb41de9f0", "name": "Dangling fetch: PUT /api/objects/m-done2/status (server/http/objects.integration.test.ts:1956)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m-done2/status (server/http/objects.integration.test.ts:1956)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1956` calls `PUT /api/objects/m-done2/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-done2/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-50188adfd9f4ec3f", "name": "Dangling fetch: PUT /api/objects/m-done-quota/status (server/http/objects.integration.test.ts:1976)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m-done-quota/status (server/http/objects.integration.test.ts:1976)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1976` calls `PUT /api/objects/m-done-quota/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-done-quota/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fc92fa4286c36293", "name": "Dangling fetch: PUT /api/objects/m-done3/status (server/http/objects.integration.test.ts:1994)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m-done3/status (server/http/objects.integration.test.ts:1994)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:1994` calls `PUT /api/objects/m-done3/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-done3/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-59255b6af8ccbb69", "name": "Dangling fetch: PUT /api/objects/m-done-nolimit/status (server/http/objects.integration.test.ts:2014)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/m-done-nolimit/status (server/http/objects.integration.test.ts:2014)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:2014` calls `PUT /api/objects/m-done-nolimit/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-done-nolimit/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ebb3cba8ef059953", "name": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:2034)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:2034)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:2034` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3c9a3a6af83ec5ac", "name": "Dangling fetch: PUT /api/objects/${draft.id}/status (server/http/objects.integration.test.ts:2050)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/${draft.id}/status (server/http/objects.integration.test.ts:2050)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:2050` calls `PUT /api/objects/${draft.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-891feaf333f25575", "name": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:2207)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:2207)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:2207` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a52b831eede5e12c", "name": "Dangling fetch: POST /api/objects/${object.id}/uploads (server/http/objects.integration.test.ts:2220)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/${object.id}/uploads (server/http/objects.integration.test.ts:2220)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:2220` calls `POST /api/objects/${object.id}/uploads` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/uploads`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-53f350f6a6618f8c", "name": "Dangling fetch: POST /api/objects/${object.id}/uploads/${session.id}/parts (server/http/objects.integration.test.ts:2229", "shortDescription": {"text": "Dangling fetch: POST /api/objects/${object.id}/uploads/${session.id}/parts (server/http/objects.integration.test.ts:2229)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:2229` calls `POST /api/objects/${object.id}/uploads/${session.id}/parts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/uploads/<p>/parts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cc1564d17605e2f3", "name": "Dangling fetch: PUT /api/objects/${object.id}/uploads/${session.id}/status (server/http/objects.integration.test.ts:2243", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/${object.id}/uploads/${session.id}/status (server/http/objects.integration.test.ts:2243)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:2243` calls `PUT /api/objects/${object.id}/uploads/${session.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/uploads/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6229f346f5cd2c6d", "name": "Dangling fetch: PUT /api/objects/${object.id}/status (server/http/objects.integration.test.ts:2250)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/${object.id}/status (server/http/objects.integration.test.ts:2250)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:2250` calls `PUT /api/objects/${object.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0df2e4ace424e3c0", "name": "Dangling fetch: GET /api/objects/${object.id} (server/http/objects.integration.test.ts:2257)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/${object.id} (server/http/objects.integration.test.ts:2257)"}, "fullDescription": {"text": "`server/http/objects.integration.test.ts:2257` calls `GET /api/objects/${object.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4c73750c6698c8f5", "name": "Dangling fetch: POST /api/background-jobs (server/http/background-jobs.integration.test.ts:73)", "shortDescription": {"text": "Dangling fetch: POST /api/background-jobs (server/http/background-jobs.integration.test.ts:73)"}, "fullDescription": {"text": "`server/http/background-jobs.integration.test.ts:73` calls `POST /api/background-jobs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/background-jobs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4f9c2841697e9254", "name": "Dangling fetch: POST /api/background-jobs (server/http/background-jobs.integration.test.ts:136)", "shortDescription": {"text": "Dangling fetch: POST /api/background-jobs (server/http/background-jobs.integration.test.ts:136)"}, "fullDescription": {"text": "`server/http/background-jobs.integration.test.ts:136` calls `POST /api/background-jobs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/background-jobs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a5d69ccda128102c", "name": "Dangling fetch: POST /api/background-jobs (server/http/background-jobs.integration.test.ts:167)", "shortDescription": {"text": "Dangling fetch: POST /api/background-jobs (server/http/background-jobs.integration.test.ts:167)"}, "fullDescription": {"text": "`server/http/background-jobs.integration.test.ts:167` calls `POST /api/background-jobs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/background-jobs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-17c111927e79897a", "name": "Dangling fetch: POST /api/background-jobs (server/http/background-jobs.integration.test.ts:205)", "shortDescription": {"text": "Dangling fetch: POST /api/background-jobs (server/http/background-jobs.integration.test.ts:205)"}, "fullDescription": {"text": "`server/http/background-jobs.integration.test.ts:205` calls `POST /api/background-jobs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/background-jobs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-38790120432082ad", "name": "Dangling fetch: GET /api/background-jobs?status=running&type=archive_extract&page=1&pageSize=1 (server/http/background-j", "shortDescription": {"text": "Dangling fetch: GET /api/background-jobs?status=running&type=archive_extract&page=1&pageSize=1 (server/http/background-jobs.integration.test.ts:236)"}, "fullDescription": {"text": "`server/http/background-jobs.integration.test.ts:236` calls `GET /api/background-jobs?status=running&type=archive_extract&page=1&pageSize=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/background-jobs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e382c252885d29eb", "name": "Dangling fetch: GET /api/background-jobs/${job.id} (server/http/background-jobs.integration.test.ts:260)", "shortDescription": {"text": "Dangling fetch: GET /api/background-jobs/${job.id} (server/http/background-jobs.integration.test.ts:260)"}, "fullDescription": {"text": "`server/http/background-jobs.integration.test.ts:260` calls `GET /api/background-jobs/${job.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/background-jobs/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-efc7a459e27cf7e4", "name": "Dangling fetch: PUT /api/background-jobs/${queued.id}/status (server/http/background-jobs.integration.test.ts:274)", "shortDescription": {"text": "Dangling fetch: PUT /api/background-jobs/${queued.id}/status (server/http/background-jobs.integration.test.ts:274)"}, "fullDescription": {"text": "`server/http/background-jobs.integration.test.ts:274` calls `PUT /api/background-jobs/${queued.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/background-jobs/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8e44261636422cd3", "name": "Dangling fetch: PUT /api/background-jobs/${completed.id}/status (server/http/background-jobs.integration.test.ts:279)", "shortDescription": {"text": "Dangling fetch: PUT /api/background-jobs/${completed.id}/status (server/http/background-jobs.integration.test.ts:279)"}, "fullDescription": {"text": "`server/http/background-jobs.integration.test.ts:279` calls `PUT /api/background-jobs/${completed.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/background-jobs/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6d6d5c8688ee6609", "name": "Dangling fetch: POST /api/background-jobs/${retryable.id}/retries (server/http/background-jobs.integration.test.ts:314)", "shortDescription": {"text": "Dangling fetch: POST /api/background-jobs/${retryable.id}/retries (server/http/background-jobs.integration.test.ts:314)"}, "fullDescription": {"text": "`server/http/background-jobs.integration.test.ts:314` calls `POST /api/background-jobs/${retryable.id}/retries` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/background-jobs/<p>/retries`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-888f6db1290a385d", "name": "Dangling fetch: POST /api/background-jobs/${notFailed.id}/retries (server/http/background-jobs.integration.test.ts:315)", "shortDescription": {"text": "Dangling fetch: POST /api/background-jobs/${notFailed.id}/retries (server/http/background-jobs.integration.test.ts:315)"}, "fullDescription": {"text": "`server/http/background-jobs.integration.test.ts:315` calls `POST /api/background-jobs/${notFailed.id}/retries` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/background-jobs/<p>/retries`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-db407fdfc858bb33", "name": "Dangling fetch: GET /api/background-jobs/${job.id} (server/http/background-jobs.integration.test.ts:338)", "shortDescription": {"text": "Dangling fetch: GET /api/background-jobs/${job.id} (server/http/background-jobs.integration.test.ts:338)"}, "fullDescription": {"text": "`server/http/background-jobs.integration.test.ts:338` calls `GET /api/background-jobs/${job.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/background-jobs/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c760dd92563ccba6", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/teams.integration.test.ts:47)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/teams.integration.test.ts:47)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:47` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-894da4059aca6b61", "name": "Dangling fetch: GET /api/teams/invite-links/invalid (server/http/teams.integration.test.ts:62)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/invite-links/invalid (server/http/teams.integration.test.ts:62)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:62` calls `GET /api/teams/invite-links/invalid` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/invite-links/invalid`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8a70c056300b0623", "name": "Dangling fetch: GET /api/teams/invite-links/${link.token} (server/http/teams.integration.test.ts:72)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/invite-links/${link.token} (server/http/teams.integration.test.ts:72)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:72` calls `GET /api/teams/invite-links/${link.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/invite-links/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-36ab23d40021918d", "name": "Dangling fetch: POST /api/teams/some-org/invite-links (server/http/teams.integration.test.ts:85)", "shortDescription": {"text": "Dangling fetch: POST /api/teams/some-org/invite-links (server/http/teams.integration.test.ts:85)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:85` calls `POST /api/teams/some-org/invite-links` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/some-org/invite-links`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dea072cdc2205a8d", "name": "Dangling fetch: POST /api/teams/${orgId}/invite-links (server/http/teams.integration.test.ts:101)", "shortDescription": {"text": "Dangling fetch: POST /api/teams/${orgId}/invite-links (server/http/teams.integration.test.ts:101)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:101` calls `POST /api/teams/${orgId}/invite-links` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/invite-links`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d0725b47725ea57f", "name": "Dangling fetch: POST /api/teams/${orgId}/invite-links (server/http/teams.integration.test.ts:117)", "shortDescription": {"text": "Dangling fetch: POST /api/teams/${orgId}/invite-links (server/http/teams.integration.test.ts:117)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:117` calls `POST /api/teams/${orgId}/invite-links` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/invite-links`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-44cbda8a53ed82a6", "name": "Dangling fetch: GET /api/teams/some-org/invitations (server/http/teams.integration.test.ts:134)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/some-org/invitations (server/http/teams.integration.test.ts:134)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:134` calls `GET /api/teams/some-org/invitations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/some-org/invitations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-34bfa9328124ba0f", "name": "Dangling fetch: GET /api/teams/${orgId}/invitations (server/http/teams.integration.test.ts:146)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/invitations (server/http/teams.integration.test.ts:146)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:146` calls `GET /api/teams/${orgId}/invitations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/invitations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1372754981d1cf61", "name": "Dangling fetch: GET /api/teams/${orgId}/invitations (server/http/teams.integration.test.ts:158)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/invitations (server/http/teams.integration.test.ts:158)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:158` calls `GET /api/teams/${orgId}/invitations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/invitations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a3e4e0580bc68da7", "name": "Dangling fetch: POST /api/teams/some-team/members (server/http/teams.integration.test.ts:170)", "shortDescription": {"text": "Dangling fetch: POST /api/teams/some-team/members (server/http/teams.integration.test.ts:170)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:170` calls `POST /api/teams/some-team/members` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/some-team/members`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4f3d59b9d53b9718", "name": "Dangling fetch: POST /api/teams/some-team/members (server/http/teams.integration.test.ts:183)", "shortDescription": {"text": "Dangling fetch: POST /api/teams/some-team/members (server/http/teams.integration.test.ts:183)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:183` calls `POST /api/teams/some-team/members` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/some-team/members`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dd668d24d68e6fae", "name": "Dangling fetch: POST /api/teams/${orgId}/members (server/http/teams.integration.test.ts:200)", "shortDescription": {"text": "Dangling fetch: POST /api/teams/${orgId}/members (server/http/teams.integration.test.ts:200)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:200` calls `POST /api/teams/${orgId}/members` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/members`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9bca004efdc7dc69", "name": "Dangling fetch: POST /api/teams/${orgId}/members (server/http/teams.integration.test.ts:218)", "shortDescription": {"text": "Dangling fetch: POST /api/teams/${orgId}/members (server/http/teams.integration.test.ts:218)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:218` calls `POST /api/teams/${orgId}/members` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/members`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2861d721a07d5585", "name": "Dangling fetch: GET /api/teams/some-id/activity (server/http/teams.integration.test.ts:280)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/some-id/activity (server/http/teams.integration.test.ts:280)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:280` calls `GET /api/teams/some-id/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/some-id/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1bea2a4a8d839c38", "name": "Dangling fetch: GET /api/teams/team-org-1/activity (server/http/teams.integration.test.ts:310)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/team-org-1/activity (server/http/teams.integration.test.ts:310)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:310` calls `GET /api/teams/team-org-1/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/team-org-1/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-92ca501f79e4ff8d", "name": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:319)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:319)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:319` calls `GET /api/teams/${orgId}/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8bfb2073c83785b7", "name": "Dangling fetch: GET /api/teams/${orgId1}/activity (server/http/teams.integration.test.ts:339)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId1}/activity (server/http/teams.integration.test.ts:339)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:339` calls `GET /api/teams/${orgId1}/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae41debffcfea2a0", "name": "Dangling fetch: GET /api/teams/team-org-2/activity (server/http/teams.integration.test.ts:356)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/team-org-2/activity (server/http/teams.integration.test.ts:356)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:356` calls `GET /api/teams/team-org-2/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/team-org-2/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9b27709673aeab48", "name": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:369)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:369)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:369` calls `GET /api/teams/${orgId}/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-aac145609de29d1e", "name": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:384)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:384)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:384` calls `GET /api/teams/${orgId}/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c0351e92ffae3fa8", "name": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:413)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:413)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:413` calls `GET /api/teams/${orgId}/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6bfc790e77edeb66", "name": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:442)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:442)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:442` calls `GET /api/teams/${orgId}/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e2d336b9e65b2347", "name": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:456)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:456)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:456` calls `GET /api/teams/${orgId}/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-43c4994a69e4d48b", "name": "Dangling fetch: GET /api/teams/${orgId}/activity?page=2&pageSize=5 (server/http/teams.integration.test.ts:467)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity?page=2&pageSize=5 (server/http/teams.integration.test.ts:467)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:467` calls `GET /api/teams/${orgId}/activity?page=2&pageSize=5` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7033c8844affc0b3", "name": "Dangling fetch: GET /api/teams/${orgId}/activity?page=1&pageSize=3 (server/http/teams.integration.test.ts:484)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity?page=1&pageSize=3 (server/http/teams.integration.test.ts:484)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:484` calls `GET /api/teams/${orgId}/activity?page=1&pageSize=3` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e32308e6a7f85b64", "name": "Dangling fetch: GET /api/teams/${orgId}/activity?page=2&pageSize=3 (server/http/teams.integration.test.ts:508)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity?page=2&pageSize=3 (server/http/teams.integration.test.ts:508)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:508` calls `GET /api/teams/${orgId}/activity?page=2&pageSize=3` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f6f5ebc2a73ba18d", "name": "Dangling fetch: GET /api/teams/${orgId}/activity?page=99&pageSize=20 (server/http/teams.integration.test.ts:522)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity?page=99&pageSize=20 (server/http/teams.integration.test.ts:522)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:522` calls `GET /api/teams/${orgId}/activity?page=99&pageSize=20` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7c07522e1fcf721b", "name": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:542)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:542)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:542` calls `GET /api/teams/${orgId}/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-67b38c0ce955ba62", "name": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:565)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:565)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:565` calls `GET /api/teams/${orgId}/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-46f29da4fa205b29", "name": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:578)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:578)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:578` calls `GET /api/teams/${orgId}/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c0b5e47efd82809b", "name": "Dangling fetch: GET /api/teams/${orgId1}/activity (server/http/teams.integration.test.ts:622)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId1}/activity (server/http/teams.integration.test.ts:622)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:622` calls `GET /api/teams/${orgId1}/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4adc04f24c72ebdc", "name": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:645)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:645)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:645` calls `GET /api/teams/${orgId}/activity` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/activity`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-10455427291b48b3", "name": "Dangling fetch: PUT /api/teams/some-org/logo (server/http/teams.integration.test.ts:682)", "shortDescription": {"text": "Dangling fetch: PUT /api/teams/some-org/logo (server/http/teams.integration.test.ts:682)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:682` calls `PUT /api/teams/some-org/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/some-org/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-28793a944a050876", "name": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:695)", "shortDescription": {"text": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:695)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:695` calls `PUT /api/teams/${orgId}/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-792f663fe29f54ed", "name": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:708)", "shortDescription": {"text": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:708)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:708` calls `PUT /api/teams/${orgId}/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b11a229d9c36d44d", "name": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:721)", "shortDescription": {"text": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:721)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:721` calls `PUT /api/teams/${orgId}/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4cb9493be8fdfbf7", "name": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:733)", "shortDescription": {"text": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:733)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:733` calls `PUT /api/teams/${orgId}/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-23927bc3466cae78", "name": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:746)", "shortDescription": {"text": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:746)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:746` calls `PUT /api/teams/${orgId}/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dc5d2501534c7eed", "name": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:766)", "shortDescription": {"text": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:766)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:766` calls `PUT /api/teams/${orgId}/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a999be68c87b9e33", "name": "Dangling fetch: DELETE /api/teams/some-org/logo (server/http/teams.integration.test.ts:779)", "shortDescription": {"text": "Dangling fetch: DELETE /api/teams/some-org/logo (server/http/teams.integration.test.ts:779)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:779` calls `DELETE /api/teams/some-org/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/some-org/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-06aab3dbb9b2c878", "name": "Dangling fetch: DELETE /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:789)", "shortDescription": {"text": "Dangling fetch: DELETE /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:789)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:789` calls `DELETE /api/teams/${orgId}/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-944fa8873863be79", "name": "Dangling fetch: DELETE /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:802)", "shortDescription": {"text": "Dangling fetch: DELETE /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:802)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:802` calls `DELETE /api/teams/${orgId}/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2a015152441c320f", "name": "Dangling fetch: DELETE /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:817)", "shortDescription": {"text": "Dangling fetch: DELETE /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:817)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:817` calls `DELETE /api/teams/${orgId}/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-12aa7593e09f13de", "name": "Dangling fetch: GET /api/teams (server/http/teams.integration.test.ts:875)", "shortDescription": {"text": "Dangling fetch: GET /api/teams (server/http/teams.integration.test.ts:875)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:875` calls `GET /api/teams` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-986f4ee9cf972fac", "name": "Dangling fetch: GET /api/teams (server/http/teams.integration.test.ts:887)", "shortDescription": {"text": "Dangling fetch: GET /api/teams (server/http/teams.integration.test.ts:887)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:887` calls `GET /api/teams` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1f9350dfddcc018a", "name": "Dangling fetch: GET /api/teams (server/http/teams.integration.test.ts:898)", "shortDescription": {"text": "Dangling fetch: GET /api/teams (server/http/teams.integration.test.ts:898)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:898` calls `GET /api/teams` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a319321d4cda58fd", "name": "Dangling fetch: GET /api/teams/team-x (server/http/teams.integration.test.ts:922)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/team-x (server/http/teams.integration.test.ts:922)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:922` calls `GET /api/teams/team-x` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/team-x`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-00320f02e655abb4", "name": "Dangling fetch: GET /api/teams/nope (server/http/teams.integration.test.ts:934)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/nope (server/http/teams.integration.test.ts:934)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:934` calls `GET /api/teams/nope` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/nope`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2767d186cf01d306", "name": "Dangling fetch: GET /api/teams/${personalOrg[0].id} (server/http/teams.integration.test.ts:940)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/${personalOrg[0].id} (server/http/teams.integration.test.ts:940)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:940` calls `GET /api/teams/${personalOrg[0].id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-317c8ee31b98046f", "name": "Dangling fetch: POST /api/teams/team-q1/entitlements (server/http/teams.integration.test.ts:951)", "shortDescription": {"text": "Dangling fetch: POST /api/teams/team-q1/entitlements (server/http/teams.integration.test.ts:951)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:951` calls `POST /api/teams/team-q1/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/team-q1/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-29e790b17af263fb", "name": "Dangling fetch: GET /api/teams/team-q1/entitlements (server/http/teams.integration.test.ts:961)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/team-q1/entitlements (server/http/teams.integration.test.ts:961)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:961` calls `GET /api/teams/team-q1/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/team-q1/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6d1dd2df9fe88dd6", "name": "Dangling fetch: GET /api/quotas (server/http/teams.integration.test.ts:968)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas (server/http/teams.integration.test.ts:968)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:968` calls `GET /api/quotas` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-77f9e71ee0c67021", "name": "Dangling fetch: DELETE /api/teams/team-q1/entitlements/${granted.entitlement.id} (server/http/teams.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: DELETE /api/teams/team-q1/entitlements/${granted.entitlement.id} (server/http/teams.integration.test.ts:972)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:972` calls `DELETE /api/teams/team-q1/entitlements/${granted.entitlement.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/team-q1/entitlements/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b82519cef2375a32", "name": "Dangling fetch: GET /api/teams/team-q1/entitlements (server/http/teams.integration.test.ts:977)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/team-q1/entitlements (server/http/teams.integration.test.ts:977)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:977` calls `GET /api/teams/team-q1/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/team-q1/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e9ed4f9bc9f28a36", "name": "Dangling fetch: POST /api/teams/team-q2/entitlements (server/http/teams.integration.test.ts:987)", "shortDescription": {"text": "Dangling fetch: POST /api/teams/team-q2/entitlements (server/http/teams.integration.test.ts:987)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:987` calls `POST /api/teams/team-q2/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/team-q2/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5b2b919be0e72802", "name": "Dangling fetch: PATCH /api/teams/team-q2/entitlements/${granted.entitlement.id} (server/http/teams.integration.test.ts:9", "shortDescription": {"text": "Dangling fetch: PATCH /api/teams/team-q2/entitlements/${granted.entitlement.id} (server/http/teams.integration.test.ts:994)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:994` calls `PATCH /api/teams/team-q2/entitlements/${granted.entitlement.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/team-q2/entitlements/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3073fbf959f7b24a", "name": "Dangling fetch: GET /api/teams/no-such-org/entitlements (server/http/teams.integration.test.ts:1007)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/no-such-org/entitlements (server/http/teams.integration.test.ts:1007)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:1007` calls `GET /api/teams/no-such-org/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/no-such-org/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b417cd3f135140c5", "name": "Dangling fetch: GET /api/teams/no-such-org/entitlements (server/http/teams.integration.test.ts:1017)", "shortDescription": {"text": "Dangling fetch: GET /api/teams/no-such-org/entitlements (server/http/teams.integration.test.ts:1017)"}, "fullDescription": {"text": "`server/http/teams.integration.test.ts:1017` calls `GET /api/teams/no-such-org/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/no-such-org/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0b39eca5c4d34500", "name": "Dangling fetch: POST /api/shares (server/http/shares.integration.test.ts:81)", "shortDescription": {"text": "Dangling fetch: POST /api/shares (server/http/shares.integration.test.ts:81)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:81` calls `POST /api/shares` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4a40d8633251f7c6", "name": "Dangling fetch: POST /api/shares (server/http/shares.integration.test.ts:98)", "shortDescription": {"text": "Dangling fetch: POST /api/shares (server/http/shares.integration.test.ts:98)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:98` calls `POST /api/shares` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0b9b09d4676cfe68", "name": "Dangling fetch: GET /api/shares (server/http/shares.integration.test.ts:316)", "shortDescription": {"text": "Dangling fetch: GET /api/shares (server/http/shares.integration.test.ts:316)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:316` calls `GET /api/shares` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ad079e554a38207b", "name": "Dangling fetch: GET /api/shares (server/http/shares.integration.test.ts:332)", "shortDescription": {"text": "Dangling fetch: GET /api/shares (server/http/shares.integration.test.ts:332)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:332` calls `GET /api/shares` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4d4e0c58f6e2ec61", "name": "Dangling fetch: GET /api/shares?page=1&pageSize=1 (server/http/shares.integration.test.ts:351)", "shortDescription": {"text": "Dangling fetch: GET /api/shares?page=1&pageSize=1 (server/http/shares.integration.test.ts:351)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:351` calls `GET /api/shares?page=1&pageSize=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d7bc0ffe8a444d83", "name": "Dangling fetch: GET /api/shares (server/http/shares.integration.test.ts:373)", "shortDescription": {"text": "Dangling fetch: GET /api/shares (server/http/shares.integration.test.ts:373)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:373` calls `GET /api/shares` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8dc2d0e1ca53b5e3", "name": "Dangling fetch: GET /api/shares (server/http/shares.integration.test.ts:394)", "shortDescription": {"text": "Dangling fetch: GET /api/shares (server/http/shares.integration.test.ts:394)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:394` calls `GET /api/shares` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e056c85acc9dd70b", "name": "Dangling fetch: DELETE /api/shares/${body2.token} (server/http/shares.integration.test.ts:421)", "shortDescription": {"text": "Dangling fetch: DELETE /api/shares/${body2.token} (server/http/shares.integration.test.ts:421)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:421` calls `DELETE /api/shares/${body2.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a5828a5724e57dce", "name": "Dangling fetch: GET /api/shares?status=active (server/http/shares.integration.test.ts:423)", "shortDescription": {"text": "Dangling fetch: GET /api/shares?status=active (server/http/shares.integration.test.ts:423)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:423` calls `GET /api/shares?status=active` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6c8185aac6e05fb3", "name": "Dangling fetch: GET /api/shares?status=revoked (server/http/shares.integration.test.ts:427)", "shortDescription": {"text": "Dangling fetch: GET /api/shares?status=revoked (server/http/shares.integration.test.ts:427)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:427` calls `GET /api/shares?status=revoked` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71b0ac9b9dc681f3", "name": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:454)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:454)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:454` calls `GET /api/shares/${token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2f59ced89912f53e", "name": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:480)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:480)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:480` calls `GET /api/shares/${token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f58e0e4cef91794a", "name": "Dangling fetch: GET /api/shares/does-not-exist (server/http/shares.integration.test.ts:494)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/does-not-exist (server/http/shares.integration.test.ts:494)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:494` calls `GET /api/shares/does-not-exist` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/does-not-exist`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a0388d5e32c476ca", "name": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:509)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:509)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:509` calls `GET /api/shares/${token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0aa995e9607e27e0", "name": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:523)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:523)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:523` calls `GET /api/shares/${token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-191188300cdcab03", "name": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:544)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:544)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:544` calls `GET /api/shares/${token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2e41497b42faa472", "name": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:545)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:545)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:545` calls `GET /api/shares/${token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-728ff177edf73f13", "name": "Dangling fetch: POST /api/shares/nonexistent-token/objects (server/http/shares.integration.test.ts:566)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/nonexistent-token/objects (server/http/shares.integration.test.ts:566)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:566` calls `POST /api/shares/nonexistent-token/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/nonexistent-token/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bd97ec99d4611ef2", "name": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:584)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:584)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:584` calls `POST /api/shares/${token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e12e4ab7060f6bef", "name": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:607)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:607)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:607` calls `POST /api/shares/${token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5acdc1de0132fe29", "name": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:625)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:625)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:625` calls `POST /api/shares/${token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-be38354b4e42c89e", "name": "Dangling fetch: POST /api/shares/sometoken/objects (server/http/shares.integration.test.ts:635)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/sometoken/objects (server/http/shares.integration.test.ts:635)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:635` calls `POST /api/shares/sometoken/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/sometoken/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-74df8cd134056509", "name": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:657)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:657)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:657` calls `POST /api/shares/${token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1f5db6b22ff8c26b", "name": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:684)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:684)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:684` calls `POST /api/shares/${token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-daaf98ec357f426d", "name": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:708)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:708)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:708` calls `POST /api/shares/${token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a7f64c96dd4f865f", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/shares.integration.test.ts:724)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/shares.integration.test.ts:724)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:724` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-796c3491db3b9f81", "name": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:744)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:744)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:744` calls `POST /api/shares/${token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0cd39fb499f12ccb", "name": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:767)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:767)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:767` calls `POST /api/shares/${token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c171a4ba22e66bdd", "name": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:791)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:791)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:791` calls `POST /api/shares/${token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3445e1e8b7d9564d", "name": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:815)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:815)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:815` calls `POST /api/shares/${token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-af7b5109437bbcd5", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/shares.integration.test.ts:834)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/shares.integration.test.ts:834)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:834` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-72ecf3fdfab9e2be", "name": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:853)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:853)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:853` calls `POST /api/shares/${token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2afcc11e5c834a92", "name": "Dangling fetch: DELETE /api/shares/some-token (server/http/shares.integration.test.ts:867)", "shortDescription": {"text": "Dangling fetch: DELETE /api/shares/some-token (server/http/shares.integration.test.ts:867)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:867` calls `DELETE /api/shares/some-token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/some-token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0580885b23fac19c", "name": "Dangling fetch: DELETE /api/shares/${token} (server/http/shares.integration.test.ts:887)", "shortDescription": {"text": "Dangling fetch: DELETE /api/shares/${token} (server/http/shares.integration.test.ts:887)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:887` calls `DELETE /api/shares/${token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b502c6368d2cdb5f", "name": "Dangling fetch: DELETE /api/shares/${token} (server/http/shares.integration.test.ts:906)", "shortDescription": {"text": "Dangling fetch: DELETE /api/shares/${token} (server/http/shares.integration.test.ts:906)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:906` calls `DELETE /api/shares/${token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-da16205fffa1deac", "name": "Dangling fetch: DELETE /api/shares/does-not-exist (server/http/shares.integration.test.ts:914)", "shortDescription": {"text": "Dangling fetch: DELETE /api/shares/does-not-exist (server/http/shares.integration.test.ts:914)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:914` calls `DELETE /api/shares/does-not-exist` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/does-not-exist`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7459282982b2990c", "name": "Dangling fetch: GET /api/shares?box=received (server/http/shares.integration.test.ts:953)", "shortDescription": {"text": "Dangling fetch: GET /api/shares?box=received (server/http/shares.integration.test.ts:953)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:953` calls `GET /api/shares?box=received` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dc346b5a4c63d881", "name": "Dangling fetch: GET /api/shares?box=received (server/http/shares.integration.test.ts:963)", "shortDescription": {"text": "Dangling fetch: GET /api/shares?box=received (server/http/shares.integration.test.ts:963)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:963` calls `GET /api/shares?box=received` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d5ed6ac4356b7233", "name": "Dangling fetch: DELETE /api/shares/${token} (server/http/shares.integration.test.ts:983)", "shortDescription": {"text": "Dangling fetch: DELETE /api/shares/${token} (server/http/shares.integration.test.ts:983)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:983` calls `DELETE /api/shares/${token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-92f56a9c80b1293a", "name": "Dangling fetch: GET /api/shares?box=received (server/http/shares.integration.test.ts:986)", "shortDescription": {"text": "Dangling fetch: GET /api/shares?box=received (server/http/shares.integration.test.ts:986)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:986` calls `GET /api/shares?box=received` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-99b5e65528d9aaca", "name": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:1075)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:1075)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1075` calls `GET /api/shares/${token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-899a6e78658a1204", "name": "Dangling fetch: GET /api/shares/unknown-token (server/http/shares.integration.test.ts:1085)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/unknown-token (server/http/shares.integration.test.ts:1085)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1085` calls `GET /api/shares/unknown-token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/unknown-token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e44cc778520eec54", "name": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1100)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1100)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1100` calls `GET /api/shares/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e7727cadece21d6b", "name": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1129)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1129)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1129` calls `GET /api/shares/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-22862e7f3bed231b", "name": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1145)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1145)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1145` calls `GET /api/shares/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d7a62ee7a2b48f46", "name": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1150)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1150)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1150` calls `GET /api/shares/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-15258602141cc698", "name": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1168)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1168)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1168` calls `GET /api/shares/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-54812e7cc9a480b2", "name": "Dangling fetch: GET /api/shares/token-trash (server/http/shares.integration.test.ts:1185)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/token-trash (server/http/shares.integration.test.ts:1185)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1185` calls `GET /api/shares/token-trash` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/token-trash`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a1e970e531ab3b97", "name": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1199)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1199)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1199` calls `GET /api/shares/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8f96eedd06112e6a", "name": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1218)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1218)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1218` calls `GET /api/shares/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ec8318ce32598cfb", "name": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1240)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1240)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1240` calls `GET /api/shares/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5f915fdb347d2504", "name": "Dangling fetch: POST /api/shares/${share.token}/sessions (server/http/shares.integration.test.ts:1265)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${share.token}/sessions (server/http/shares.integration.test.ts:1265)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1265` calls `POST /api/shares/${share.token}/sessions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/sessions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4ed4f602e3c467ee", "name": "Dangling fetch: POST /api/shares/${share.token}/sessions (server/http/shares.integration.test.ts:1292)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${share.token}/sessions (server/http/shares.integration.test.ts:1292)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1292` calls `POST /api/shares/${share.token}/sessions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/sessions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ebae00495416c294", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1320)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1320)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1320` calls `GET /api/shares/${share.token}/objects/${rootRef}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-abdbe20edf1ff134", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/shares.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/shares.integration.test.ts:1341)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1341` calls `GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cd7250da2890ba82", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/shares.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/shares.integration.test.ts:1366)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1366` calls `GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-353e451cbae0d51c", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/shares.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/shares.integration.test.ts:1394)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1394` calls `GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71544ea4c34ad81b", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/shares.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/shares.integration.test.ts:1431)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1431` calls `GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8ae90a6db680900d", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1459)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1459)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1459` calls `GET /api/shares/${share.token}/objects/${rootRef}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-142a30f26d4379fb", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1479)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1479)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1479` calls `GET /api/shares/${share.token}/objects/${rootRef}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-66e8a7889c185bd4", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1503)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1503)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1503` calls `GET /api/shares/${share.token}/objects/${rootRef}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0aea835910a97c57", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1527)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1527)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1527` calls `GET /api/shares/${share.token}/objects/${rootRef}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9c5480e55b49d5bc", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1551)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1551)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1551` calls `GET /api/shares/${share.token}/objects/${rootRef}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a3ddad780d557f6f", "name": "Dangling fetch: GET /api/shares/no-such-token/objects (server/http/shares.integration.test.ts:1561)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/no-such-token/objects (server/http/shares.integration.test.ts:1561)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1561` calls `GET /api/shares/no-such-token/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/no-such-token/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a2e034cc5bd5c197", "name": "Dangling fetch: GET /api/shares/token-trash-ch/objects (server/http/shares.integration.test.ts:1577)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/token-trash-ch/objects (server/http/shares.integration.test.ts:1577)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1577` calls `GET /api/shares/token-trash-ch/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/token-trash-ch/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0190090805e36649", "name": "Dangling fetch: GET /api/shares/${share.token}/objects (server/http/shares.integration.test.ts:1590)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects (server/http/shares.integration.test.ts:1590)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1590` calls `GET /api/shares/${share.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cffa06135d45e771", "name": "Dangling fetch: GET /api/shares/${share.token}/objects (server/http/shares.integration.test.ts:1605)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects (server/http/shares.integration.test.ts:1605)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1605` calls `GET /api/shares/${share.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-86236825a5a1dacb", "name": "Dangling fetch: GET /api/shares/${share.token}/objects?parent=Reports (server/http/shares.integration.test.ts:1633)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects?parent=Reports (server/http/shares.integration.test.ts:1633)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1633` calls `GET /api/shares/${share.token}/objects?parent=Reports` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0328a346f50b9567", "name": "Dangling fetch: GET /api/shares/${share.token}/objects (server/http/shares.integration.test.ts:1662)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects (server/http/shares.integration.test.ts:1662)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1662` calls `GET /api/shares/${share.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c2a3bdbd6d205e53", "name": "Dangling fetch: GET /api/shares/${share.token}/objects?parent=../etc (server/http/shares.integration.test.ts:1675)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects?parent=../etc (server/http/shares.integration.test.ts:1675)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1675` calls `GET /api/shares/${share.token}/objects?parent=../etc` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7a6959cafe97b740", "name": "Dangling fetch: GET /api/shares/${share.token}/objects?page=2&pageSize=10 (server/http/shares.integration.test.ts:1690)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects?page=2&pageSize=10 (server/http/shares.integration.test.ts:1690)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1690` calls `GET /api/shares/${share.token}/objects?page=2&pageSize=10` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a6913a98db878598", "name": "Dangling fetch: GET /api/shares/${share.token}/objects?page=abc&pageSize=xyz (server/http/shares.integration.test.ts:170", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects?page=abc&pageSize=xyz (server/http/shares.integration.test.ts:1706)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1706` calls `GET /api/shares/${share.token}/objects?page=abc&pageSize=xyz` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d53d1d53002f2ae3", "name": "Dangling fetch: GET /api/shares/${share.token}/objects (server/http/shares.integration.test.ts:1727)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects (server/http/shares.integration.test.ts:1727)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1727` calls `GET /api/shares/${share.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-93b0a53b1ef7db7f", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${ref} (server/http/shares.integration.test.ts:1731)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${ref} (server/http/shares.integration.test.ts:1731)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1731` calls `GET /api/shares/${share.token}/objects/${ref}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3471b7417b586402", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/invalid-ref (server/http/shares.integration.test.ts:1746)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/invalid-ref (server/http/shares.integration.test.ts:1746)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1746` calls `GET /api/shares/${share.token}/objects/invalid-ref` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/invalid-ref`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4440bccd83a8e138", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${fakeRef} (server/http/shares.integration.test.ts:1764)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${fakeRef} (server/http/shares.integration.test.ts:1764)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1764` calls `GET /api/shares/${share.token}/objects/${fakeRef}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-66245dcdeab7cb60", "name": "Dangling fetch: GET /r/${share.token} (server/http/shares.integration.test.ts:1781)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/shares.integration.test.ts:1781)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1781` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bc1b3cd359c863ee", "name": "Dangling fetch: GET /r/${share.token} (server/http/shares.integration.test.ts:1796)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/shares.integration.test.ts:1796)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1796` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-102e5453d29f7720", "name": "Dangling fetch: GET /r/nosuchthing (server/http/shares.integration.test.ts:1802)", "shortDescription": {"text": "Dangling fetch: GET /r/nosuchthing (server/http/shares.integration.test.ts:1802)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1802` calls `GET /r/nosuchthing` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/nosuchthing`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b445bdebe5199ced", "name": "Dangling fetch: GET /r/ds_token-dltrash (server/http/shares.integration.test.ts:1819)", "shortDescription": {"text": "Dangling fetch: GET /r/ds_token-dltrash (server/http/shares.integration.test.ts:1819)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1819` calls `GET /r/ds_token-dltrash` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ds_token-dltrash`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71a7a5dc564b4b60", "name": "Dangling fetch: GET /r/${share.token} (server/http/shares.integration.test.ts:1839)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/shares.integration.test.ts:1839)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1839` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d7c1165445f32b8d", "name": "Dangling fetch: GET /r/${share.token} (server/http/shares.integration.test.ts:1852)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/shares.integration.test.ts:1852)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1852` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-767329b38ae219ff", "name": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1869)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1869)"}, "fullDescription": {"text": "`server/http/shares.integration.test.ts:1869` calls `GET /api/shares/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-446fe2d2ca95fbc5", "name": "Dangling fetch: PROPFIND /dav/${slug}/ (server/http/webdav.integration.test.ts:161)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${slug}/ (server/http/webdav.integration.test.ts:161)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:161` calls `PROPFIND /dav/${slug}/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a9156bebd51bb678", "name": "Dangling fetch: PROPFIND /dav/${slug}/ (server/http/webdav.integration.test.ts:164)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${slug}/ (server/http/webdav.integration.test.ts:164)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:164` calls `PROPFIND /dav/${slug}/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-91659d90c7953e22", "name": "Dangling fetch: PROPFIND /dav/${slug}/ (server/http/webdav.integration.test.ts:166)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${slug}/ (server/http/webdav.integration.test.ts:166)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:166` calls `PROPFIND /dav/${slug}/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d74eaba3ab71ea7d", "name": "Dangling fetch: PUT /dav/${slug}/new.txt (server/http/webdav.integration.test.ts:171)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${slug}/new.txt (server/http/webdav.integration.test.ts:171)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:171` calls `PUT /dav/${slug}/new.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/new.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ebb21039874fae0d", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/ (server/http/webdav.integration.test.ts:187)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/ (server/http/webdav.integration.test.ts:187)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:187` calls `PROPFIND /dav/${workspace.slug}/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d807e82feb93e647", "name": "Dangling fetch: PROPFIND /dav/ (server/http/webdav.integration.test.ts:206)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/ (server/http/webdav.integration.test.ts:206)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:206` calls `PROPFIND /dav/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f4d7cc66399d6995", "name": "Dangling fetch: PROPFIND /dav (server/http/webdav.integration.test.ts:210)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav (server/http/webdav.integration.test.ts:210)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:210` calls `PROPFIND /dav` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-343f28f29b0dd19e", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:217)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:217)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:217` calls `PROPFIND /dav/${workspace.slug}/Docs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/docs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-23fe5c0924f4a176", "name": "Dangling fetch: PROPFIND /dav//${workspace.slug}/Docs (server/http/webdav.integration.test.ts:228)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav//${workspace.slug}/Docs (server/http/webdav.integration.test.ts:228)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:228` calls `PROPFIND /dav//${workspace.slug}/Docs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/docs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6c06bb65c2043f48", "name": "Dangling fetch: PROPFIND /dav/${workspace.id}/ (server/http/webdav.integration.test.ts:247)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.id}/ (server/http/webdav.integration.test.ts:247)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:247` calls `PROPFIND /dav/${workspace.id}/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3f7741d3fb54b0c0", "name": "Dangling fetch: PROPFIND /dav/ (server/http/webdav.integration.test.ts:263)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/ (server/http/webdav.integration.test.ts:263)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:263` calls `PROPFIND /dav/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bb1505c654fd1128", "name": "Dangling fetch: PROPFIND /dav/${hidden.slug}/ (server/http/webdav.integration.test.ts:270)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${hidden.slug}/ (server/http/webdav.integration.test.ts:270)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:270` calls `PROPFIND /dav/${hidden.slug}/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d00c37b4ccc06c0d", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:287)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:287)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:287` calls `PROPFIND /dav/${workspace.slug}/Docs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/docs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6a7fae4a7fbb3b7f", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:301)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:301)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:301` calls `PROPFIND /dav/${workspace.slug}/Docs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/docs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-134be97615ecaa4d", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:311)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:311)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:311` calls `PROPFIND /dav/${workspace.slug}/Docs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/docs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c87e9c8c4f4bcff2", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:323)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:323)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:323` calls `PROPFIND /dav/${workspace.slug}/Docs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/docs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4e9aaf80c203aaa0", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:331)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:331)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:331` calls `PROPFIND /dav/${workspace.slug}/Docs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/docs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0e512be6642002bd", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:338)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:338)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:338` calls `PROPFIND /dav/${workspace.slug}/Docs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/docs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-55cd3a7b59ef0e4e", "name": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:355)", "shortDescription": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:355)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:355` calls `PROPPATCH /dav/${workspace.slug}/dead-props.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/dead-props.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6382e646fc2e3014", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:365)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:365)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:365` calls `PROPFIND /dav/${workspace.slug}/dead-props.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/dead-props.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0c8d70b9a1a63da6", "name": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:373)", "shortDescription": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:373)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:373` calls `PROPPATCH /dav/${workspace.slug}/dead-props.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/dead-props.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8bd54e63962cc2e2", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:384)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:384)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:384` calls `PROPFIND /dav/${workspace.slug}/dead-props.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/dead-props.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-00f086ca7b295308", "name": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:394)", "shortDescription": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:394)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:394` calls `PROPPATCH /dav/${workspace.slug}/dead-props.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/dead-props.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b56bf2745cd5e4ba", "name": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:401)", "shortDescription": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:401)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:401` calls `PROPPATCH /dav/${workspace.slug}/dead-props.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/dead-props.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ccaecb5adc211c8d", "name": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:408)", "shortDescription": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:408)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:408` calls `PROPPATCH /dav/${workspace.slug}/dead-props.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/dead-props.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ca0a6ca0ff6b0b08", "name": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:415)", "shortDescription": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:415)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:415` calls `PROPPATCH /dav/${workspace.slug}/dead-props.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/dead-props.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cb87bc1215f85dcd", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:425)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:425)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:425` calls `PROPFIND /dav/${workspace.slug}/dead-props.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/dead-props.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d94b0f3d57bc7b9f", "name": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:432)", "shortDescription": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:432)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:432` calls `PROPPATCH /dav/${workspace.slug}/dead-props.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/dead-props.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7aa401b2438f772e", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:439)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:439)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:439` calls `PROPFIND /dav/${workspace.slug}/dead-props.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/dead-props.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e201cb28bb377328", "name": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/ (server/http/webdav.integration.test.ts:446)", "shortDescription": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/ (server/http/webdav.integration.test.ts:446)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:446` calls `PROPPATCH /dav/${workspace.slug}/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-63635c817bd89445", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/ (server/http/webdav.integration.test.ts:453)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/ (server/http/webdav.integration.test.ts:453)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:453` calls `PROPFIND /dav/${workspace.slug}/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0b9f7b2ac35fe93d", "name": "Dangling fetch: HEAD /dav/${workspace.slug}/readme.txt (server/http/webdav.integration.test.ts:470)", "shortDescription": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/readme.txt (server/http/webdav.integration.test.ts:470)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:470` calls `HEAD /dav/${workspace.slug}/readme.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/readme.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5c2022341ca7a658", "name": "Dangling fetch: GET /dav/${workspace.slug}/readme.txt (server/http/webdav.integration.test.ts:480)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/readme.txt (server/http/webdav.integration.test.ts:480)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:480` calls `GET /dav/${workspace.slug}/readme.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/readme.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-775ae6d50a7fd59d", "name": "Dangling fetch: HEAD /dav/${workspace.slug}/traffic.txt (server/http/webdav.integration.test.ts:509)", "shortDescription": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/traffic.txt (server/http/webdav.integration.test.ts:509)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:509` calls `HEAD /dav/${workspace.slug}/traffic.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/traffic.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7a3a63bdf597f673", "name": "Dangling fetch: GET /dav/${workspace.slug}/traffic.txt (server/http/webdav.integration.test.ts:519)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/traffic.txt (server/http/webdav.integration.test.ts:519)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:519` calls `GET /dav/${workspace.slug}/traffic.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/traffic.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3df8d5df4db8748f", "name": "Dangling fetch: GET /dav/${workspace.slug}/range-traffic.txt (server/http/webdav.integration.test.ts:543)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/range-traffic.txt (server/http/webdav.integration.test.ts:543)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:543` calls `GET /dav/${workspace.slug}/range-traffic.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/range-traffic.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8e92a32ce1152134", "name": "Dangling fetch: GET /dav/${workspace.slug}/range-traffic.txt (server/http/webdav.integration.test.ts:555)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/range-traffic.txt (server/http/webdav.integration.test.ts:555)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:555` calls `GET /dav/${workspace.slug}/range-traffic.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/range-traffic.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3a565b07848dc192", "name": "Dangling fetch: GET /dav/${workspace.slug}/range-traffic.txt (server/http/webdav.integration.test.ts:563)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/range-traffic.txt (server/http/webdav.integration.test.ts:563)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:563` calls `GET /dav/${workspace.slug}/range-traffic.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/range-traffic.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6252e9e631374b46", "name": "Dangling fetch: GET /dav/${workspace.slug}/report.txt (server/http/webdav.integration.test.ts:589)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/report.txt (server/http/webdav.integration.test.ts:589)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:589` calls `GET /dav/${workspace.slug}/report.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/report.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9fd8b033380e5951", "name": "Dangling fetch: GET /dav/${workspace.slug}/range.txt (server/http/webdav.integration.test.ts:614)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/range.txt (server/http/webdav.integration.test.ts:614)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:614` calls `GET /dav/${workspace.slug}/range.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/range.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-81509849937b1f0e", "name": "Dangling fetch: GET /dav/${workspace.slug}/range.txt (server/http/webdav.integration.test.ts:628)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/range.txt (server/http/webdav.integration.test.ts:628)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:628` calls `GET /dav/${workspace.slug}/range.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/range.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-710af5ac0389e44b", "name": "Dangling fetch: GET /dav/${workspace.slug}/range.txt (server/http/webdav.integration.test.ts:636)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/range.txt (server/http/webdav.integration.test.ts:636)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:636` calls `GET /dav/${workspace.slug}/range.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/range.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e8334fc9911900a1", "name": "Dangling fetch: GET /dav/${workspace.slug}/audio.mp3 (server/http/webdav.integration.test.ts:656)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/audio.mp3 (server/http/webdav.integration.test.ts:656)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:656` calls `GET /dav/${workspace.slug}/audio.mp3` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/audio.mp3`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-534bdf9676f6bc59", "name": "Dangling fetch: HEAD /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:685)", "shortDescription": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:685)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:685` calls `HEAD /dav/${workspace.slug}/video.mp4` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/video.mp4`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f1507584b3c2454f", "name": "Dangling fetch: GET /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:692)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:692)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:692` calls `GET /dav/${workspace.slug}/video.mp4` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/video.mp4`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3626b26e54718b2a", "name": "Dangling fetch: GET /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:705)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:705)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:705` calls `GET /dav/${workspace.slug}/video.mp4` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/video.mp4`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eefdf4046003116f", "name": "Dangling fetch: GET /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:720)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:720)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:720` calls `GET /dav/${workspace.slug}/video.mp4` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/video.mp4`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4e248e57aefb8e7d", "name": "Dangling fetch: GET /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:739)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:739)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:739` calls `GET /dav/${workspace.slug}/video.mp4` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/video.mp4`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-70c69b54c6104a8c", "name": "Dangling fetch: HEAD /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:756)", "shortDescription": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:756)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:756` calls `HEAD /dav/${workspace.slug}/precondition.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/precondition.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-929e164d8a055035", "name": "Dangling fetch: HEAD /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:763)", "shortDescription": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:763)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:763` calls `HEAD /dav/${workspace.slug}/precondition.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/precondition.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-084240775d821d0c", "name": "Dangling fetch: GET /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:769)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:769)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:769` calls `GET /dav/${workspace.slug}/precondition.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/precondition.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ea8e3fad8f63f2da", "name": "Dangling fetch: PUT /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:775)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:775)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:775` calls `PUT /dav/${workspace.slug}/precondition.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/precondition.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b3e4be4a30a8b7a7", "name": "Dangling fetch: PUT /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:782)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:782)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:782` calls `PUT /dav/${workspace.slug}/precondition.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/precondition.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cfbe28ede21ad64d", "name": "Dangling fetch: PUT /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:789)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:789)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:789` calls `PUT /dav/${workspace.slug}/precondition.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/precondition.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-af8a28382ecd9633", "name": "Dangling fetch: HEAD /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:800)", "shortDescription": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:800)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:800` calls `HEAD /dav/${workspace.slug}/precondition.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/precondition.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-336ed8149eb7e50b", "name": "Dangling fetch: HEAD /dav/${workspace.slug}/cached.mp3 (server/http/webdav.integration.test.ts:816)", "shortDescription": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/cached.mp3 (server/http/webdav.integration.test.ts:816)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:816` calls `HEAD /dav/${workspace.slug}/cached.mp3` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/cached.mp3`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4270661b0742fae5", "name": "Dangling fetch: GET /dav/${workspace.slug}/cached.mp3 (server/http/webdav.integration.test.ts:822)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/cached.mp3 (server/http/webdav.integration.test.ts:822)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:822` calls `GET /dav/${workspace.slug}/cached.mp3` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/cached.mp3`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f5b8c52fd9e48715", "name": "Dangling fetch: HEAD /dav/${workspace.slug}/date.txt (server/http/webdav.integration.test.ts:847)", "shortDescription": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/date.txt (server/http/webdav.integration.test.ts:847)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:847` calls `HEAD /dav/${workspace.slug}/date.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/date.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a10f95a162878939", "name": "Dangling fetch: GET /dav/${workspace.slug}/date.txt (server/http/webdav.integration.test.ts:855)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/date.txt (server/http/webdav.integration.test.ts:855)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:855` calls `GET /dav/${workspace.slug}/date.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/date.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1350c5a1275186cf", "name": "Dangling fetch: PUT /dav/${workspace.slug}/date.txt (server/http/webdav.integration.test.ts:861)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/date.txt (server/http/webdav.integration.test.ts:861)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:861` calls `PUT /dav/${workspace.slug}/date.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/date.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-08d1783900fc61d5", "name": "Dangling fetch: PUT /dav/${workspace.slug}/date.txt (server/http/webdav.integration.test.ts:872)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/date.txt (server/http/webdav.integration.test.ts:872)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:872` calls `PUT /dav/${workspace.slug}/date.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/date.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6372c71be964c95b", "name": "Dangling fetch: OPTIONS /dav/ (server/http/webdav.integration.test.ts:890)", "shortDescription": {"text": "Dangling fetch: OPTIONS /dav/ (server/http/webdav.integration.test.ts:890)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:890` calls `OPTIONS /dav/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c07e167a97338e9c", "name": "Dangling fetch: PROPFIND /dav/ (server/http/webdav.integration.test.ts:902)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/ (server/http/webdav.integration.test.ts:902)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:902` calls `PROPFIND /dav/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8b81ea3f284aef66", "name": "Dangling fetch: PUT /dav/${workspace.slug}/upload.txt (server/http/webdav.integration.test.ts:915)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/upload.txt (server/http/webdav.integration.test.ts:915)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:915` calls `PUT /dav/${workspace.slug}/upload.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/upload.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fa5693bdd8c0abe9", "name": "Dangling fetch: PUT /dav/${workspace.slug}/upload.txt (server/http/webdav.integration.test.ts:950)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/upload.txt (server/http/webdav.integration.test.ts:950)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:950` calls `PUT /dav/${workspace.slug}/upload.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/upload.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3992d1d3a1d8872f", "name": "Dangling fetch: PUT /dav/${workspace.slug}/existing (server/http/webdav.integration.test.ts:979)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/existing (server/http/webdav.integration.test.ts:979)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:979` calls `PUT /dav/${workspace.slug}/existing` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/existing`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-abddecd230352bf3", "name": "Dangling fetch: PUT /dav/${workspace.slug}/ (server/http/webdav.integration.test.ts:991)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/ (server/http/webdav.integration.test.ts:991)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:991` calls `PUT /dav/${workspace.slug}/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1cfc27d83bab0bbc", "name": "Dangling fetch: PUT /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:998)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:998)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:998` calls `PUT /dav/${workspace.slug}/Docs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/docs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a8f635a313c6ebd1", "name": "Dangling fetch: PUT /dav/${workspace.slug}/will-fail.txt (server/http/webdav.integration.test.ts:1015)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/will-fail.txt (server/http/webdav.integration.test.ts:1015)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1015` calls `PUT /dav/${workspace.slug}/will-fail.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/will-fail.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-85e963952b985ef6", "name": "Dangling fetch: MKCOL /dav/${workspace.slug}/Projects (server/http/webdav.integration.test.ts:1033)", "shortDescription": {"text": "Dangling fetch: MKCOL /dav/${workspace.slug}/Projects (server/http/webdav.integration.test.ts:1033)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1033` calls `MKCOL /dav/${workspace.slug}/Projects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/projects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-efa62a58db98ea5a", "name": "Dangling fetch: MKCOL /dav/${workspace.slug}/Projects (server/http/webdav.integration.test.ts:1054)", "shortDescription": {"text": "Dangling fetch: MKCOL /dav/${workspace.slug}/Projects (server/http/webdav.integration.test.ts:1054)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1054` calls `MKCOL /dav/${workspace.slug}/Projects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/projects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-01c4c8391bcec13b", "name": "Dangling fetch: MKCOL /dav/${workspace.slug}/Missing/Child (server/http/webdav.integration.test.ts:1060)", "shortDescription": {"text": "Dangling fetch: MKCOL /dav/${workspace.slug}/Missing/Child (server/http/webdav.integration.test.ts:1060)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1060` calls `MKCOL /dav/${workspace.slug}/Missing/Child` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/missing/child`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-119fc7a138c47d2e", "name": "Dangling fetch: MKCOL /dav/${workspace.slug}/file-parent.txt/Child (server/http/webdav.integration.test.ts:1066)", "shortDescription": {"text": "Dangling fetch: MKCOL /dav/${workspace.slug}/file-parent.txt/Child (server/http/webdav.integration.test.ts:1066)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1066` calls `MKCOL /dav/${workspace.slug}/file-parent.txt/Child` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/file-parent.txt/child`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0ad17ef90937d6c8", "name": "Dangling fetch: MKCOL /dav/${workspace.slug}/BodyCollection (server/http/webdav.integration.test.ts:1072)", "shortDescription": {"text": "Dangling fetch: MKCOL /dav/${workspace.slug}/BodyCollection (server/http/webdav.integration.test.ts:1072)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1072` calls `MKCOL /dav/${workspace.slug}/BodyCollection` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/bodycollection`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-875d788286b6f306", "name": "Dangling fetch: MOVE /dav/${workspace.slug}/move-me.txt (server/http/webdav.integration.test.ts:1095)", "shortDescription": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/move-me.txt (server/http/webdav.integration.test.ts:1095)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1095` calls `MOVE /dav/${workspace.slug}/move-me.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/move-me.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fabc4f8254fc1eb4", "name": "Dangling fetch: COPY /dav/${workspace.slug}/moved.txt (server/http/webdav.integration.test.ts:1101)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/moved.txt (server/http/webdav.integration.test.ts:1101)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1101` calls `COPY /dav/${workspace.slug}/moved.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/moved.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-039123b0bfd01738", "name": "Dangling fetch: MOVE /dav/${workspace.slug}/moved.txt (server/http/webdav.integration.test.ts:1107)", "shortDescription": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/moved.txt (server/http/webdav.integration.test.ts:1107)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1107` calls `MOVE /dav/${workspace.slug}/moved.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/moved.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5379d9cb8a276673", "name": "Dangling fetch: MOVE /dav/${workspace.slug}/moved.txt (server/http/webdav.integration.test.ts:1113)", "shortDescription": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/moved.txt (server/http/webdav.integration.test.ts:1113)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1113` calls `MOVE /dav/${workspace.slug}/moved.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/moved.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a2e5128f393a02a6", "name": "Dangling fetch: COPY /dav/${workspace.slug}/moved.txt (server/http/webdav.integration.test.ts:1121)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/moved.txt (server/http/webdav.integration.test.ts:1121)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1121` calls `COPY /dav/${workspace.slug}/moved.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/moved.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-72f30d26876544fc", "name": "Dangling fetch: DELETE /dav/${workspace.slug}/copied.txt (server/http/webdav.integration.test.ts:1129)", "shortDescription": {"text": "Dangling fetch: DELETE /dav/${workspace.slug}/copied.txt (server/http/webdav.integration.test.ts:1129)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1129` calls `DELETE /dav/${workspace.slug}/copied.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/copied.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-11385df87393aa14", "name": "Dangling fetch: MOVE /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:1150)", "shortDescription": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:1150)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1150` calls `MOVE /dav/${workspace.slug}/source.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/source.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-245c273b8e6434f9", "name": "Dangling fetch: MOVE /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:1156)", "shortDescription": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:1156)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1156` calls `MOVE /dav/${workspace.slug}/source.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/source.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-66898986c7a9ee7f", "name": "Dangling fetch: COPY /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:1164)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:1164)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1164` calls `COPY /dav/${workspace.slug}/source.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/source.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-491c427749554b3c", "name": "Dangling fetch: COPY /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:1173)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:1173)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1173` calls `COPY /dav/${workspace.slug}/source.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/source.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2177e0afb053496d", "name": "Dangling fetch: COPY /dav/${workspace.slug}/Source (server/http/webdav.integration.test.ts:1191)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/Source (server/http/webdav.integration.test.ts:1191)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1191` calls `COPY /dav/${workspace.slug}/Source` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/source`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae6836144da28530", "name": "Dangling fetch: COPY /dav/${workspace.slug}/Source (server/http/webdav.integration.test.ts:1205)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/Source (server/http/webdav.integration.test.ts:1205)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1205` calls `COPY /dav/${workspace.slug}/Source` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/source`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-73d3566999c88fd2", "name": "Dangling fetch: COPY /dav/${workspace.slug}/Source (server/http/webdav.integration.test.ts:1213)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/Source (server/http/webdav.integration.test.ts:1213)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1213` calls `COPY /dav/${workspace.slug}/Source` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/source`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-94c7dc581c475fb4", "name": "Dangling fetch: COPY /dav/${workspace.slug}/Source (server/http/webdav.integration.test.ts:1223)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/Source (server/http/webdav.integration.test.ts:1223)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1223` calls `COPY /dav/${workspace.slug}/Source` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/source`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7d1f29b2cf84fb2f", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/LockedTarget (server/http/webdav.integration.test.ts:1243)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/LockedTarget (server/http/webdav.integration.test.ts:1243)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1243` calls `LOCK /dav/${workspace.slug}/LockedTarget` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/lockedtarget`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0078b5e8026f1adf", "name": "Dangling fetch: COPY /dav/${workspace.slug}/locked-source.txt (server/http/webdav.integration.test.ts:1250)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/locked-source.txt (server/http/webdav.integration.test.ts:1250)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1250` calls `COPY /dav/${workspace.slug}/locked-source.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked-source.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-496a15541a7fc3ba", "name": "Dangling fetch: COPY /dav/${workspace.slug}/RollbackSource (server/http/webdav.integration.test.ts:1262)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/RollbackSource (server/http/webdav.integration.test.ts:1262)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1262` calls `COPY /dav/${workspace.slug}/RollbackSource` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/rollbacksource`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9885965de4d368a8", "name": "Dangling fetch: MOVE /dav/${workspace.slug}/MoveMe (server/http/webdav.integration.test.ts:1289)", "shortDescription": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/MoveMe (server/http/webdav.integration.test.ts:1289)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1289` calls `MOVE /dav/${workspace.slug}/MoveMe` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/moveme`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9974c1abac289034", "name": "Dangling fetch: MOVE /dav/${workspace.slug}/Moved (server/http/webdav.integration.test.ts:1302)", "shortDescription": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/Moved (server/http/webdav.integration.test.ts:1302)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1302` calls `MOVE /dav/${workspace.slug}/Moved` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/moved`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bfa3c617f60235ce", "name": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/guarded.txt (server/http/webdav.integration.test.ts:1323)", "shortDescription": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/guarded.txt (server/http/webdav.integration.test.ts:1323)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1323` calls `PROPPATCH /dav/${workspace.slug}/guarded.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/guarded.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d633ce335c47a400", "name": "Dangling fetch: MKCOL /dav/${workspace.slug}/BlockedByIf (server/http/webdav.integration.test.ts:1330)", "shortDescription": {"text": "Dangling fetch: MKCOL /dav/${workspace.slug}/BlockedByIf (server/http/webdav.integration.test.ts:1330)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1330` calls `MKCOL /dav/${workspace.slug}/BlockedByIf` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/blockedbyif`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bb767a0e12cfadc4", "name": "Dangling fetch: DELETE /dav/${workspace.slug}/delete-guarded.txt (server/http/webdav.integration.test.ts:1336)", "shortDescription": {"text": "Dangling fetch: DELETE /dav/${workspace.slug}/delete-guarded.txt (server/http/webdav.integration.test.ts:1336)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1336` calls `DELETE /dav/${workspace.slug}/delete-guarded.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/delete-guarded.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-78f934b466d7fc3a", "name": "Dangling fetch: MOVE /dav/${workspace.slug}/move-guarded.txt (server/http/webdav.integration.test.ts:1342)", "shortDescription": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/move-guarded.txt (server/http/webdav.integration.test.ts:1342)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1342` calls `MOVE /dav/${workspace.slug}/move-guarded.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/move-guarded.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ed18ddcd1d51f624", "name": "Dangling fetch: MOVE /dav/${workspace.slug}/move-guarded.txt (server/http/webdav.integration.test.ts:1351)", "shortDescription": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/move-guarded.txt (server/http/webdav.integration.test.ts:1351)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1351` calls `MOVE /dav/${workspace.slug}/move-guarded.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/move-guarded.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e7b62c1a01a3af3b", "name": "Dangling fetch: COPY /dav/${workspace.slug}/copy-guarded.txt (server/http/webdav.integration.test.ts:1359)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/copy-guarded.txt (server/http/webdav.integration.test.ts:1359)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1359` calls `COPY /dav/${workspace.slug}/copy-guarded.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/copy-guarded.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-61c0a4a8861e439a", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/guarded.txt (server/http/webdav.integration.test.ts:1368)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/guarded.txt (server/http/webdav.integration.test.ts:1368)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1368` calls `LOCK /dav/${workspace.slug}/guarded.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/guarded.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-28140ee37d151170", "name": "Dangling fetch: DELETE /dav/${workspace.slug}/guarded.txt (server/http/webdav.integration.test.ts:1375)", "shortDescription": {"text": "Dangling fetch: DELETE /dav/${workspace.slug}/guarded.txt (server/http/webdav.integration.test.ts:1375)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1375` calls `DELETE /dav/${workspace.slug}/guarded.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/guarded.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e6f4126591c6c04b", "name": "Dangling fetch: DELETE /dav/${workspace.slug}/DeleteMe (server/http/webdav.integration.test.ts:1392)", "shortDescription": {"text": "Dangling fetch: DELETE /dav/${workspace.slug}/DeleteMe (server/http/webdav.integration.test.ts:1392)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1392` calls `DELETE /dav/${workspace.slug}/DeleteMe` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/deleteme`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-667b90036565d69f", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/DeleteMe (server/http/webdav.integration.test.ts:1398)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/DeleteMe (server/http/webdav.integration.test.ts:1398)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1398` calls `PROPFIND /dav/${workspace.slug}/DeleteMe` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/deleteme`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0c88ae65b94bf4d4", "name": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/state.txt (server/http/webdav.integration.test.ts:1418)", "shortDescription": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/state.txt (server/http/webdav.integration.test.ts:1418)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1418` calls `PROPPATCH /dav/${workspace.slug}/state.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/state.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1e527d33b504d20a", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/state.txt (server/http/webdav.integration.test.ts:1425)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/state.txt (server/http/webdav.integration.test.ts:1425)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1425` calls `LOCK /dav/${workspace.slug}/state.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/state.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-15a1c88998726d6e", "name": "Dangling fetch: MOVE /dav/${workspace.slug}/state.txt (server/http/webdav.integration.test.ts:1433)", "shortDescription": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/state.txt (server/http/webdav.integration.test.ts:1433)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1433` calls `MOVE /dav/${workspace.slug}/state.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/state.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-835e15d58d7a768a", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1442)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1442)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1442` calls `PROPFIND /dav/${workspace.slug}/moved-state.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/moved-state.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-026f4d6fa50ae2a1", "name": "Dangling fetch: COPY /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1451)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1451)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1451` calls `COPY /dav/${workspace.slug}/moved-state.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/moved-state.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c2e5cdd30ddbd1bc", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/copied-state.txt (server/http/webdav.integration.test.ts:1460)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/copied-state.txt (server/http/webdav.integration.test.ts:1460)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1460` calls `PROPFIND /dav/${workspace.slug}/copied-state.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/copied-state.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f52bfbbc682e6689", "name": "Dangling fetch: DELETE /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1469)", "shortDescription": {"text": "Dangling fetch: DELETE /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1469)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1469` calls `DELETE /dav/${workspace.slug}/moved-state.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/moved-state.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c7733f3274db80d1", "name": "Dangling fetch: PUT /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1475)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1475)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1475` calls `PUT /dav/${workspace.slug}/moved-state.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/moved-state.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e51e42a043b2dbd8", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1482)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1482)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1482` calls `PROPFIND /dav/${workspace.slug}/moved-state.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/moved-state.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8d044d5c12ea8498", "name": "Dangling fetch: HEAD /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1501)", "shortDescription": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1501)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1501` calls `HEAD /dav/${workspace.slug}/if.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/if.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b5fd51f4a007176f", "name": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1507)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1507)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1507` calls `PUT /dav/${workspace.slug}/if.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/if.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8cb4b02337b892f7", "name": "Dangling fetch: HEAD /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1518)", "shortDescription": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1518)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1518` calls `HEAD /dav/${workspace.slug}/if.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/if.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8c23bb510c42ca8c", "name": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1524)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1524)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1524` calls `PUT /dav/${workspace.slug}/if.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/if.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e02fc96e1632ba2d", "name": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1535)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1535)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1535` calls `PUT /dav/${workspace.slug}/if.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/if.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a464552a606c0071", "name": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1542)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1542)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1542` calls `PUT /dav/${workspace.slug}/if.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/if.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-57c2a29b71503331", "name": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1552)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1552)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1552` calls `PUT /dav/${workspace.slug}/if.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/if.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0b643cfcf951a1c8", "name": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1562)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1562)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1562` calls `PUT /dav/${workspace.slug}/if.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/if.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ec326bf21dcb50bf", "name": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1572)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1572)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1572` calls `PUT /dav/${workspace.slug}/if.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/if.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6132620e5354c7c0", "name": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1579)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1579)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1579` calls `PUT /dav/${workspace.slug}/if.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/if.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-00a238551286acec", "name": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1589)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1589)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1589` calls `PUT /dav/${workspace.slug}/if.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/if.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9031bd7401720bd5", "name": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1596)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1596)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1596` calls `PUT /dav/${workspace.slug}/if.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/if.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b2c883f9381c30d6", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1618)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1618)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1618` calls `LOCK /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4fa96393c27703f6", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1632)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1632)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1632` calls `PROPFIND /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5cc2d2945db19b0c", "name": "Dangling fetch: PUT /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1640)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1640)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1640` calls `PUT /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a4cd99a13fcb8042", "name": "Dangling fetch: PUT /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1647)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1647)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1647` calls `PUT /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71627e42adec49cd", "name": "Dangling fetch: PUT /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1658)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1658)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1658` calls `PUT /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b34ab4063f72f014", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1669)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1669)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1669` calls `LOCK /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6938a8e260711f4d", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1676)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1676)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1676` calls `LOCK /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7cb8373122bc95ef", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1683)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1683)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1683` calls `LOCK /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bc493a43c0c4dd7a", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1692)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1692)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1692` calls `LOCK /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6b7803cf46a8a207", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/other-locked.txt (server/http/webdav.integration.test.ts:1699)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/other-locked.txt (server/http/webdav.integration.test.ts:1699)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1699` calls `LOCK /dav/${workspace.slug}/other-locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/other-locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a8cc32820d4b0597", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1705)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1705)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1705` calls `LOCK /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7a087e8585368288", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/other-locked.txt (server/http/webdav.integration.test.ts:1711)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/other-locked.txt (server/http/webdav.integration.test.ts:1711)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1711` calls `LOCK /dav/${workspace.slug}/other-locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/other-locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ac9859899f605136", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/other-locked.txt (server/http/webdav.integration.test.ts:1718)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/other-locked.txt (server/http/webdav.integration.test.ts:1718)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1718` calls `LOCK /dav/${workspace.slug}/other-locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/other-locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-80b7922ba97b39a3", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/other-locked.txt (server/http/webdav.integration.test.ts:1725)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/other-locked.txt (server/http/webdav.integration.test.ts:1725)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1725` calls `LOCK /dav/${workspace.slug}/other-locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/other-locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-369cb3109f3f8bc5", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/missing-lock-target.txt (server/http/webdav.integration.test.ts:1732)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/missing-lock-target.txt (server/http/webdav.integration.test.ts:1732)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1732` calls `LOCK /dav/${workspace.slug}/missing-lock-target.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/missing-lock-target.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cfa4248354b0c6ff", "name": "Dangling fetch: HEAD /dav/${workspace.slug}/missing-lock-target.txt (server/http/webdav.integration.test.ts:1742)", "shortDescription": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/missing-lock-target.txt (server/http/webdav.integration.test.ts:1742)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1742` calls `HEAD /dav/${workspace.slug}/missing-lock-target.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/missing-lock-target.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d180ab79eb0caa60", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/Missing/missing-lock-target.txt (server/http/webdav.integration.test.ts:1749", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/Missing/missing-lock-target.txt (server/http/webdav.integration.test.ts:1749)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1749` calls `LOCK /dav/${workspace.slug}/Missing/missing-lock-target.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/missing/missing-lock-target.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0d07065deeff8a22", "name": "Dangling fetch: UNLOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1756)", "shortDescription": {"text": "Dangling fetch: UNLOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1756)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1756` calls `UNLOCK /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9ec99beccf21ee0e", "name": "Dangling fetch: UNLOCK /dav/${workspace.slug}/absent-unlock-target.txt (server/http/webdav.integration.test.ts:1762)", "shortDescription": {"text": "Dangling fetch: UNLOCK /dav/${workspace.slug}/absent-unlock-target.txt (server/http/webdav.integration.test.ts:1762)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1762` calls `UNLOCK /dav/${workspace.slug}/absent-unlock-target.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/absent-unlock-target.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-487cedb1dd73df9b", "name": "Dangling fetch: UNLOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1768)", "shortDescription": {"text": "Dangling fetch: UNLOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1768)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1768` calls `UNLOCK /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dec694703be99317", "name": "Dangling fetch: UNLOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1774)", "shortDescription": {"text": "Dangling fetch: UNLOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1774)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1774` calls `UNLOCK /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ba0dfe1e919417c6", "name": "Dangling fetch: PUT /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1780)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1780)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1780` calls `PUT /dav/${workspace.slug}/locked.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/locked.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-db4602a66de3dccd", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/RefreshScope (server/http/webdav.integration.test.ts:1811)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/RefreshScope (server/http/webdav.integration.test.ts:1811)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1811` calls `LOCK /dav/${workspace.slug}/RefreshScope` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/refreshscope`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-44c63ab58131a073", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/RefreshScope/child.txt (server/http/webdav.integration.test.ts:1819)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/RefreshScope/child.txt (server/http/webdav.integration.test.ts:1819)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1819` calls `LOCK /dav/${workspace.slug}/RefreshScope/child.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/refreshscope/child.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b0bb795d788d3396", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/outside.txt (server/http/webdav.integration.test.ts:1827)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/outside.txt (server/http/webdav.integration.test.ts:1827)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1827` calls `LOCK /dav/${workspace.slug}/outside.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/outside.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2cdabc1d2e83fe8a", "name": "Dangling fetch: LOCK /dav/${secondWorkspace.slug}/RefreshScope/child.txt (server/http/webdav.integration.test.ts:1833)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${secondWorkspace.slug}/RefreshScope/child.txt (server/http/webdav.integration.test.ts:1833)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1833` calls `LOCK /dav/${secondWorkspace.slug}/RefreshScope/child.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/refreshscope/child.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7b7f6725a3183553", "name": "Dangling fetch: UNLOCK /dav/${workspace.slug}/outside.txt (server/http/webdav.integration.test.ts:1839)", "shortDescription": {"text": "Dangling fetch: UNLOCK /dav/${workspace.slug}/outside.txt (server/http/webdav.integration.test.ts:1839)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1839` calls `UNLOCK /dav/${workspace.slug}/outside.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/outside.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dd9d46a2823c4df9", "name": "Dangling fetch: UNLOCK /dav/${workspace.slug}/RefreshScope/child.txt (server/http/webdav.integration.test.ts:1845)", "shortDescription": {"text": "Dangling fetch: UNLOCK /dav/${workspace.slug}/RefreshScope/child.txt (server/http/webdav.integration.test.ts:1845)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1845` calls `UNLOCK /dav/${workspace.slug}/RefreshScope/child.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/refreshscope/child.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-861a2d048bb40968", "name": "Dangling fetch: PUT /dav/${workspace.slug}/RefreshScope/child.txt (server/http/webdav.integration.test.ts:1851)", "shortDescription": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/RefreshScope/child.txt (server/http/webdav.integration.test.ts:1851)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1851` calls `PUT /dav/${workspace.slug}/RefreshScope/child.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/refreshscope/child.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c0b39bac63343144", "name": "Dangling fetch: LOCK /dav/${workspace.slug}/DiscoveryScope (server/http/webdav.integration.test.ts:1869)", "shortDescription": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/DiscoveryScope (server/http/webdav.integration.test.ts:1869)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1869` calls `LOCK /dav/${workspace.slug}/DiscoveryScope` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/discoveryscope`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3b8b950044258b31", "name": "Dangling fetch: PROPFIND /dav/${workspace.slug}/DiscoveryScope/child.txt (server/http/webdav.integration.test.ts:1877)", "shortDescription": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/DiscoveryScope/child.txt (server/http/webdav.integration.test.ts:1877)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1877` calls `PROPFIND /dav/${workspace.slug}/DiscoveryScope/child.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/discoveryscope/child.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f66035d079153d5e", "name": "Dangling fetch: GET /dav/${workspace.slug}/missing.txt (server/http/webdav.integration.test.ts:1896)", "shortDescription": {"text": "Dangling fetch: GET /dav/${workspace.slug}/missing.txt (server/http/webdav.integration.test.ts:1896)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1896` calls `GET /dav/${workspace.slug}/missing.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/missing.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-480bdfb3e4054424", "name": "Dangling fetch: DELETE /dav/${workspace.slug}/missing.txt (server/http/webdav.integration.test.ts:1902)", "shortDescription": {"text": "Dangling fetch: DELETE /dav/${workspace.slug}/missing.txt (server/http/webdav.integration.test.ts:1902)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1902` calls `DELETE /dav/${workspace.slug}/missing.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/missing.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f2c5095a47db04ee", "name": "Dangling fetch: MOVE /dav/${workspace.slug}/move-source.txt (server/http/webdav.integration.test.ts:1919)", "shortDescription": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/move-source.txt (server/http/webdav.integration.test.ts:1919)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1919` calls `MOVE /dav/${workspace.slug}/move-source.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/move-source.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-66f6e84ce4a2232b", "name": "Dangling fetch: MOVE /dav/${workspace.slug}/move-source.txt (server/http/webdav.integration.test.ts:1928)", "shortDescription": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/move-source.txt (server/http/webdav.integration.test.ts:1928)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1928` calls `MOVE /dav/${workspace.slug}/move-source.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/move-source.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b96b14df4d726707", "name": "Dangling fetch: COPY /dav/${workspace.slug}/copy-source.txt (server/http/webdav.integration.test.ts:1955)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/copy-source.txt (server/http/webdav.integration.test.ts:1955)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1955` calls `COPY /dav/${workspace.slug}/copy-source.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/copy-source.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-580903e3be893c44", "name": "Dangling fetch: COPY /dav/${workspace.slug}/copy-source.txt (server/http/webdav.integration.test.ts:1964)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/copy-source.txt (server/http/webdav.integration.test.ts:1964)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1964` calls `COPY /dav/${workspace.slug}/copy-source.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/copy-source.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f582720f204d3782", "name": "Dangling fetch: COPY /dav/${workspace.slug}/Copy%20Folder (server/http/webdav.integration.test.ts:1974)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/Copy%20Folder (server/http/webdav.integration.test.ts:1974)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1974` calls `COPY /dav/${workspace.slug}/Copy%20Folder` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/copy%20folder`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-461e9afb5396a069", "name": "Dangling fetch: COPY /dav/${workspace.slug}/Copy%20Folder (server/http/webdav.integration.test.ts:1987)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/Copy%20Folder (server/http/webdav.integration.test.ts:1987)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:1987` calls `COPY /dav/${workspace.slug}/Copy%20Folder` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/copy%20folder`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2542bb8210176d4e", "name": "Dangling fetch: COPY /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:2007)", "shortDescription": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:2007)"}, "fullDescription": {"text": "`server/http/webdav.integration.test.ts:2007` calls `COPY /dav/${workspace.slug}/source.txt` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dav/<p>/source.txt`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1052a049ad9ab479", "name": "Dangling fetch: POST /api/auth/device/code (server/http/downloads/download-tasks.integration.test.ts:100)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/device/code (server/http/downloads/download-tasks.integration.test.ts:100)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:100` calls `POST /api/auth/device/code` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/device/code`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5f1060f8851a795a", "name": "Dangling fetch: GET /api/auth/device?user_code=${encodeURIComponent(code.user_code)} (server/http/downloads/download-tas", "shortDescription": {"text": "Dangling fetch: GET /api/auth/device?user_code=${encodeURIComponent(code.user_code)} (server/http/downloads/download-tasks.integration.test.ts:108)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:108` calls `GET /api/auth/device?user_code=${encodeURIComponent(code.user_code)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/device`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9cb5173c65a7a762", "name": "Dangling fetch: POST /api/auth/device/approve (server/http/downloads/download-tasks.integration.test.ts:114)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/device/approve (server/http/downloads/download-tasks.integration.test.ts:114)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:114` calls `POST /api/auth/device/approve` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/device/approve`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-02aae4ae2dd45487", "name": "Dangling fetch: POST /api/auth/device/token (server/http/downloads/download-tasks.integration.test.ts:121)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/device/token (server/http/downloads/download-tasks.integration.test.ts:121)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:121` calls `POST /api/auth/device/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/device/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fdf43e2b9a3f6a7f", "name": "Dangling fetch: POST /api/downloads/downloaders (server/http/downloads/download-tasks.integration.test.ts:133)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders (server/http/downloads/download-tasks.integration.test.ts:133)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:133` calls `POST /api/downloads/downloaders` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2a1259843bdc1f11", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:161)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:161)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:161` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b5f68c481bb0c102", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:174)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:174)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:174` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b2e9801b95aa6eda", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:192)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:192` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3cc227372bd41988", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:200)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:200)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:200` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0545068046425944", "name": "Dangling fetch: DELETE /api/downloads/downloaders/${createdDownloader.downloader.id} (server/http/downloads/download-tas", "shortDescription": {"text": "Dangling fetch: DELETE /api/downloads/downloaders/${createdDownloader.downloader.id} (server/http/downloads/download-tasks.integration.test.ts:213)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:213` calls `DELETE /api/downloads/downloaders/${createdDownloader.downloader.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3c4e0b4d5ca8ba00", "name": "Dangling fetch: GET /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:220)", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:220)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:220` calls `GET /api/downloads/tasks/${task.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b8a098600cb3ffcf", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:242)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:242` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e9e01d2ed853c538", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:249)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:249` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-00fb1b1bf1b0cb79", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:264)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:264)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:264` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6501f3907e3fc030", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:288)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:288` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-65c3df9619bd6722", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:296)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:296)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:296` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9b1c1c34ef2ae166", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:309)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:309` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b79f9f239da8cb0b", "name": "Dangling fetch: GET /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:316", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:316)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:316` calls `GET /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-56d0153b260c64b3", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:329)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:329` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae6654bfa6414e14", "name": "Dangling fetch: GET /api/downloads/downloaders (server/http/downloads/download-tasks.integration.test.ts:346)", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/downloaders (server/http/downloads/download-tasks.integration.test.ts:346)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:346` calls `GET /api/downloads/downloaders` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae2b62f572b86a25", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:364)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:364` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9f1b916ad93a80f5", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:372)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:372)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:372` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-251ccb993c04ceb6", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:392)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:392` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3bf50dc111f10549", "name": "Dangling fetch: GET /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:402", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:402)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:402` calls `GET /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7dfbd5c2a8d7086e", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:419)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:419` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c9f69dc4eddc23e0", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:427)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:427)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:427` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8958051603da6931", "name": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&category=fixtures&tag=http (server/http/downloads/download-tasks.", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&category=fixtures&tag=http (server/http/downloads/download-tasks.integration.test.ts:446)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:446` calls `GET /api/downloads/tasks?assignedTo=me&category=fixtures&tag=http` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ded141d7956620a9", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:4", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:461)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:461` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9f96d901abe51d1a", "name": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=downloading (server/http/downloads/download-tasks.integrat", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=downloading (server/http/downloads/download-tasks.integration.test.ts:495)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:495` calls `GET /api/downloads/tasks?assignedTo=me&status=downloading` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-86684d5fbea7c432", "name": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:505)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:505)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:505` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8e6588c2ba1d7464", "name": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:521)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:521)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:521` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ae52d45077541ac", "name": "Dangling fetch: PUT /api/objects/${nestedObject.id}/status (server/http/downloads/download-tasks.integration.test.ts:536", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/${nestedObject.id}/status (server/http/downloads/download-tasks.integration.test.ts:536)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:536` calls `PUT /api/objects/${nestedObject.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c5c3c8feb5c99eab", "name": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:543)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:543)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:543` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-02823dc0b6ebe949", "name": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:555)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:555)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:555` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fb479aea3393788b", "name": "Dangling fetch: POST /api/objects/${object.id}/uploads (server/http/downloads/download-tasks.integration.test.ts:570)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/${object.id}/uploads (server/http/downloads/download-tasks.integration.test.ts:570)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:570` calls `POST /api/objects/${object.id}/uploads` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/uploads`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5a98a26518c2540c", "name": "Dangling fetch: POST /api/objects/${object.id}/uploads/${session.id}/parts (server/http/downloads/download-tasks.integra", "shortDescription": {"text": "Dangling fetch: POST /api/objects/${object.id}/uploads/${session.id}/parts (server/http/downloads/download-tasks.integration.test.ts:580)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:580` calls `POST /api/objects/${object.id}/uploads/${session.id}/parts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/uploads/<p>/parts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d82ab426475faa01", "name": "Dangling fetch: PUT /api/objects/${object.id}/uploads/${session.id}/status (server/http/downloads/download-tasks.integra", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/${object.id}/uploads/${session.id}/status (server/http/downloads/download-tasks.integration.test.ts:589)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:589` calls `PUT /api/objects/${object.id}/uploads/${session.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/uploads/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1bd4ddc5308d2e34", "name": "Dangling fetch: PUT /api/objects/${object.id}/status (server/http/downloads/download-tasks.integration.test.ts:596)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/${object.id}/status (server/http/downloads/download-tasks.integration.test.ts:596)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:596` calls `PUT /api/objects/${object.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b6ec912cb80ac6bf", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:6", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:605)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:605` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2d78d054ffc49d91", "name": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=uploading (server/http/downloads/download-tasks.integratio", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=uploading (server/http/downloads/download-tasks.integration.test.ts:614)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:614` calls `GET /api/downloads/tasks?assignedTo=me&status=uploading` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f432aec697f0683d", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:6", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:623)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:623` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dcd2dd8dc2d86f10", "name": "Dangling fetch: GET /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:638", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:638)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:638` calls `GET /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-52cc4de54e03fc8b", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:675)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:675` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-23ad30ccf44fafab", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:683)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:683)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:683` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dcd1b83051aa996d", "name": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:694)", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:694)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:694` calls `PATCH /api/downloads/tasks/${task.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b1a42d14d2420706", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:732)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:732` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-aaf233c7acc03177", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:740)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:740)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:740` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9e047f6bb636f808", "name": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:752)", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:752)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:752` calls `PATCH /api/downloads/tasks/${task.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-28164b80c2278562", "name": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:772)", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:772)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:772` calls `PATCH /api/downloads/tasks/${task.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-80a3193d7dc7f0db", "name": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:816)", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:816)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:816` calls `PATCH /api/downloads/tasks/${task.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-88f49281067b6389", "name": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:827)", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:827)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:827` calls `PATCH /api/downloads/tasks/${task.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-939f6b02d3989417", "name": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:848)", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:848)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:848` calls `PATCH /api/downloads/tasks/${task.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0c9739a990326985", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:882)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:882` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-577f6201d975e30f", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:890)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:890)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:890` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6c4254220f71b9fb", "name": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=assigned (server/http/downloads/download-tasks.integration", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=assigned (server/http/downloads/download-tasks.integration.test.ts:899)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:899` calls `GET /api/downloads/tasks?assignedTo=me&status=assigned` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4a581ff818f568e2", "name": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:907)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:907)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:907` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7ee7431bfc7bf62a", "name": "Dangling fetch: POST /api/objects/${object.id}/uploads (server/http/downloads/download-tasks.integration.test.ts:920)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/${object.id}/uploads (server/http/downloads/download-tasks.integration.test.ts:920)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:920` calls `POST /api/objects/${object.id}/uploads` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/uploads`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-92edb717a18bea66", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:938)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:938)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:938` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f3b700e4c7c5c00b", "name": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:967)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:967)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:967` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8f6147866789c724", "name": "Dangling fetch: POST /api/objects/${object.id}/uploads (server/http/downloads/download-tasks.integration.test.ts:980)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/${object.id}/uploads (server/http/downloads/download-tasks.integration.test.ts:980)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:980` calls `POST /api/objects/${object.id}/uploads` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/uploads`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-14bc4a00547e6555", "name": "Dangling fetch: PUT /api/objects/${object.id}/uploads/${session.id}/status (server/http/downloads/download-tasks.integra", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/${object.id}/uploads/${session.id}/status (server/http/downloads/download-tasks.integration.test.ts:988)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:988` calls `PUT /api/objects/${object.id}/uploads/${session.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/uploads/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f8d2d87bf27f926b", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:1009)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1009` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e39577e39bcc2e8d", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1017)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1017)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1017` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fb5f196e6f40a3ae", "name": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test", "shortDescription": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1030)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1030` calls `PUT /api/downloads/tasks/${createdTask.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-560da178d42b4114", "name": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me (server/http/downloads/download-tasks.integration.test.ts:1038)", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me (server/http/downloads/download-tasks.integration.test.ts:1038)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1038` calls `GET /api/downloads/tasks?assignedTo=me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-593adbd28fe20d09", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1045)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1045` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3d31b967067418a7", "name": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test", "shortDescription": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1053)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1053` calls `PUT /api/downloads/tasks/${createdTask.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7666f75eac17f1d2", "name": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test", "shortDescription": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1061)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1061` calls `PUT /api/downloads/tasks/${createdTask.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2c4f16308f2bf2ce", "name": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me (server/http/downloads/download-tasks.integration.test.ts:1069)", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me (server/http/downloads/download-tasks.integration.test.ts:1069)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1069` calls `GET /api/downloads/tasks?assignedTo=me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-04dde661103f4f93", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1076)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1076` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a5ca9ddb9d1642d2", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1084)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1084` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dca49febdb6c926b", "name": "Dangling fetch: DELETE /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: DELETE /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1095)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1095` calls `DELETE /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a87cb935c03e766e", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:1112)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1112` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0ab7cb53a10273ce", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1120)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1120)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1120` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d7b1b3b54fc7cf80", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1133)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1133` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8a2dcfa6d18c5138", "name": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=interrupted (server/http/downloads/download-tasks.integrat", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=interrupted (server/http/downloads/download-tasks.integration.test.ts:1150)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1150` calls `GET /api/downloads/tasks?assignedTo=me&status=interrupted` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-57981e11dc3a161a", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1159)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1159` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f125cdaee8b40426", "name": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test", "shortDescription": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1171)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1171` calls `PUT /api/downloads/tasks/${createdTask.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71187c938001be66", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1179)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1179` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b8a5705618c4a095", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1186)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1186` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-287cb0e594d23063", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:1204)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1204` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fc1055228cd5d7f1", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1212)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1212)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1212` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5bd0cbdcdded78e1", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1225)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1225` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1af3e1d32cb4e514", "name": "Dangling fetch: POST /api/downloads/tasks/${createdTask.id}/attempts (server/http/downloads/download-tasks.integration.t", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks/${createdTask.id}/attempts (server/http/downloads/download-tasks.integration.test.ts:1252)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1252` calls `POST /api/downloads/tasks/${createdTask.id}/attempts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>/attempts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-efe647e6ce681bba", "name": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=assigned (server/http/downloads/download-tasks.integration", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=assigned (server/http/downloads/download-tasks.integration.test.ts:1273)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1273` calls `GET /api/downloads/tasks?assignedTo=me&status=assigned` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2000e065d11e0f79", "name": "Dangling fetch: POST /api/downloads/tasks/${createdTask.id}/attempts (server/http/downloads/download-tasks.integration.t", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks/${createdTask.id}/attempts (server/http/downloads/download-tasks.integration.test.ts:1290)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1290` calls `POST /api/downloads/tasks/${createdTask.id}/attempts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>/attempts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-74aa10e767dea48b", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1310)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1310` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f680c7a05fff1e95", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1338)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1338` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-40de05c4dce8d72b", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1348)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1348` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-46b7a73a35c6ad2a", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1363)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1363` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d1caf95b746767d3", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:1387)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1387` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6df9e950e3d9bbb0", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1395)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1395)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1395` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e6bd401e2e8a7111", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1406)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1406` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5b2a81742516bf20", "name": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test", "shortDescription": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1413)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1413` calls `PUT /api/downloads/tasks/${createdTask.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-16d25f0f27590e5f", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1421)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1421` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-477ef27f99a6e0ca", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1429)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1429` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bdfb3b60ceb12f87", "name": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test", "shortDescription": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1437)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1437` calls `PUT /api/downloads/tasks/${createdTask.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b946a7dc882216f1", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1447)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1447` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4a18352573633169", "name": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test", "shortDescription": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1454)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1454` calls `PUT /api/downloads/tasks/${createdTask.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-272066f39a253df9", "name": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1462)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1462` calls `PATCH /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c119286b14df2411", "name": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:1480)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1480` calls `POST /api/downloads/downloaders/me/heartbeats` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders/me/heartbeats`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9165642ba872e2a7", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1489)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1489)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1489` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2e6b10abc44c4bcd", "name": "Dangling fetch: PATCH /api/downloads/tasks/${billingTask.id} (server/http/downloads/download-tasks.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${billingTask.id} (server/http/downloads/download-tasks.integration.test.ts:1499)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1499` calls `PATCH /api/downloads/tasks/${billingTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6bd1fd8d70cd4f18", "name": "Dangling fetch: PUT /api/downloads/tasks/${billingTask.id}/status (server/http/downloads/download-tasks.integration.test", "shortDescription": {"text": "Dangling fetch: PUT /api/downloads/tasks/${billingTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1505)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1505` calls `PUT /api/downloads/tasks/${billingTask.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7e2e171f1e1977fc", "name": "Dangling fetch: PATCH /api/downloads/tasks/${uploadingTask.id} (server/http/downloads/download-tasks.integration.test.ts", "shortDescription": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${uploadingTask.id} (server/http/downloads/download-tasks.integration.test.ts:1513)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1513` calls `PATCH /api/downloads/tasks/${uploadingTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-592952f8e9502f3f", "name": "Dangling fetch: PUT /api/downloads/tasks/${uploadingTask.id}/status (server/http/downloads/download-tasks.integration.te", "shortDescription": {"text": "Dangling fetch: PUT /api/downloads/tasks/${uploadingTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1519)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1519` calls `PUT /api/downloads/tasks/${uploadingTask.id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-292d83c3648d42db", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1532)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1532)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1532` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-02d8373abe0da2c0", "name": "Dangling fetch: DELETE /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:", "shortDescription": {"text": "Dangling fetch: DELETE /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1544)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1544` calls `DELETE /api/downloads/tasks/${createdTask.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-351c8a6a1921a5b8", "name": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1573)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1573)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1573` calls `POST /api/downloads/tasks` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3aa18645ed2b340c", "name": "Dangling fetch: GET /api/downloads/tasks?sortBy=category&sortDir=asc (server/http/downloads/download-tasks.integration.t", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks?sortBy=category&sortDir=asc (server/http/downloads/download-tasks.integration.test.ts:1581)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1581` calls `GET /api/downloads/tasks?sortBy=category&sortDir=asc` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e1ba8414d5204ec7", "name": "Dangling fetch: GET /api/downloads/tasks?tag=movie&sortBy=source&sortDir=desc (server/http/downloads/download-tasks.inte", "shortDescription": {"text": "Dangling fetch: GET /api/downloads/tasks?tag=movie&sortBy=source&sortDir=desc (server/http/downloads/download-tasks.integration.test.ts:1586)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1586` calls `GET /api/downloads/tasks?tag=movie&sortBy=source&sortDir=desc` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/tasks`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ff3da13b9f20d07", "name": "Dangling fetch: POST /api/downloads/downloaders (server/http/downloads/download-tasks.integration.test.ts:1604)", "shortDescription": {"text": "Dangling fetch: POST /api/downloads/downloaders (server/http/downloads/download-tasks.integration.test.ts:1604)"}, "fullDescription": {"text": "`server/http/downloads/download-tasks.integration.test.ts:1604` calls `POST /api/downloads/downloaders` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/downloads/downloaders`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cd115840fd6c730e", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:35)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:35)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:35` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6065c094215901da", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:48)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:48)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:48` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b6e38ed529c47282", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:65)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:65)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:65` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-59f57d4b774ca961", "name": "Dangling fetch: POST /api/auth/request-password-reset (server/http/auth/auth.integration.test.ts:70)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/request-password-reset (server/http/auth/auth.integration.test.ts:70)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:70` calls `POST /api/auth/request-password-reset` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/request-password-reset`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1dfe8d8c6af31c67", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:82)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:82)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:82` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5fcf5e6275c5edee", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:111)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:111)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:111` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2de4af49e06125f6", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:123)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:123)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:123` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-444b0846e286ddbe", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:157)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:157)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:157` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-01bffd184ae060f1", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:173)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:173)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:173` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3440c543dee37e9b", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:188)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:188)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:188` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-377725a6b00f160b", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:199)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:199)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:199` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-141b07f6fb59da2c", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:218)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:218)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:218` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cd66580872a3f53a", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:224)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:224)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:224` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f7b433d982da1bda", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:236)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:236)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:236` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cd291f90519e3ffe", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:242)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:242)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:242` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-30d507b3c475f3b2", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:261)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:261)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:261` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6edffdee9eecb614", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:267)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:267)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:267` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-caa557b2ab038a9c", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:289)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:289)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:289` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-df57cf5e56e638eb", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:318)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:318)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:318` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-877afe0ae5e6cb96", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:347)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:347)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:347` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5bf5da471d0ebb49", "name": "Dangling fetch: POST /api/auth/organization/create (server/http/auth/auth.integration.test.ts:354)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/create (server/http/auth/auth.integration.test.ts:354)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:354` calls `POST /api/auth/organization/create` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/create`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-871a43608219e550", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:377)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:377)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:377` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f904d5a0b2887de5", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:389)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:389)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:389` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-80f33656b07d7b1a", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:407)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:407)"}, "fullDescription": {"text": "`server/http/auth/auth.integration.test.ts:407` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c6edbd9e8d6c26b7", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:28)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:28)"}, "fullDescription": {"text": "`server/http/auth/auth-username.integration.test.ts:28` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6c6c1f06218b1633", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:44)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:44)"}, "fullDescription": {"text": "`server/http/auth/auth-username.integration.test.ts:44` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-02d954e006227576", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:55)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:55)"}, "fullDescription": {"text": "`server/http/auth/auth-username.integration.test.ts:55` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-debc8e29a73c5f4f", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:65)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:65)"}, "fullDescription": {"text": "`server/http/auth/auth-username.integration.test.ts:65` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2fae653889087895", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:80)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:80)"}, "fullDescription": {"text": "`server/http/auth/auth-username.integration.test.ts:80` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b9a9254213a0057f", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:85)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:85)"}, "fullDescription": {"text": "`server/http/auth/auth-username.integration.test.ts:85` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-15bfe1bd10c673bf", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.cf-test.ts:16)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.cf-test.ts:16)"}, "fullDescription": {"text": "`server/http/auth/auth.cf-test.ts:16` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7edc50e7c56871dc", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.cf-test.ts:29)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.cf-test.ts:29)"}, "fullDescription": {"text": "`server/http/auth/auth.cf-test.ts:29` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-966bd7af70c8bb67", "name": "Dangling fetch: PUT /api/site/options/${key} (server/http/site/system.integration.test.ts:17)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/options/${key} (server/http/site/system.integration.test.ts:17)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:17` calls `PUT /api/site/options/${key}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-50edbc22f14451a3", "name": "Dangling fetch: GET /api/site/options/site_name (server/http/site/system.integration.test.ts:27)", "shortDescription": {"text": "Dangling fetch: GET /api/site/options/site_name (server/http/site/system.integration.test.ts:27)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:27` calls `GET /api/site/options/site_name` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/site_name`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-39d85588de643f04", "name": "Dangling fetch: GET /api/site/options/site_name (server/http/site/system.integration.test.ts:41)", "shortDescription": {"text": "Dangling fetch: GET /api/site/options/site_name (server/http/site/system.integration.test.ts:41)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:41` calls `GET /api/site/options/site_name` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/site_name`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1e63211689e9db95", "name": "Dangling fetch: GET /api/site/options/smtp_password (server/http/site/system.integration.test.ts:52)", "shortDescription": {"text": "Dangling fetch: GET /api/site/options/smtp_password (server/http/site/system.integration.test.ts:52)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:52` calls `GET /api/site/options/smtp_password` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/smtp_password`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-05916a349c26a8bc", "name": "Dangling fetch: GET /api/site/options/smtp_password (server/http/site/system.integration.test.ts:56)", "shortDescription": {"text": "Dangling fetch: GET /api/site/options/smtp_password (server/http/site/system.integration.test.ts:56)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:56` calls `GET /api/site/options/smtp_password` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/smtp_password`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ad956b587518ec25", "name": "Dangling fetch: GET /api/site/options (server/http/site/system.integration.test.ts:61)", "shortDescription": {"text": "Dangling fetch: GET /api/site/options (server/http/site/system.integration.test.ts:61)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:61` calls `GET /api/site/options` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-78adb4dbc6acfb06", "name": "Dangling fetch: GET /api/site/options (server/http/site/system.integration.test.ts:66)", "shortDescription": {"text": "Dangling fetch: GET /api/site/options (server/http/site/system.integration.test.ts:66)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:66` calls `GET /api/site/options` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-39a6aa43b4218104", "name": "Dangling fetch: DELETE /api/site/options/site_name (server/http/site/system.integration.test.ts:76)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/options/site_name (server/http/site/system.integration.test.ts:76)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:76` calls `DELETE /api/site/options/site_name` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/site_name`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5b9772ec96fc3a35", "name": "Dangling fetch: GET /api/site/options/site_name (server/http/site/system.integration.test.ts:78)", "shortDescription": {"text": "Dangling fetch: GET /api/site/options/site_name (server/http/site/system.integration.test.ts:78)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:78` calls `GET /api/site/options/site_name` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/site_name`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6525b6a0e6d1d9d4", "name": "Dangling fetch: PUT /api/site/options/site_name (server/http/site/system.integration.test.ts:84)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/options/site_name (server/http/site/system.integration.test.ts:84)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:84` calls `PUT /api/site/options/site_name` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/site_name`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-974616642ca473e8", "name": "Dangling fetch: DELETE /api/site/options/site_name (server/http/site/system.integration.test.ts:91)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/options/site_name (server/http/site/system.integration.test.ts:91)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:91` calls `DELETE /api/site/options/site_name` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/site_name`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1803b6ae7821d727", "name": "Dangling fetch: GET /api/site/instance (server/http/site/system.integration.test.ts:126)", "shortDescription": {"text": "Dangling fetch: GET /api/site/instance (server/http/site/system.integration.test.ts:126)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:126` calls `GET /api/site/instance` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/instance`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dca2b1bd7c210d68", "name": "Dangling fetch: GET /api/site/instance (server/http/site/system.integration.test.ts:130)", "shortDescription": {"text": "Dangling fetch: GET /api/site/instance (server/http/site/system.integration.test.ts:130)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:130` calls `GET /api/site/instance` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/instance`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-47fe7935cf0062be", "name": "Dangling fetch: GET /api/site/changelog (server/http/site/system.integration.test.ts:160)", "shortDescription": {"text": "Dangling fetch: GET /api/site/changelog (server/http/site/system.integration.test.ts:160)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:160` calls `GET /api/site/changelog` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/changelog`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d910612875ae687a", "name": "Dangling fetch: GET /api/site/changelog (server/http/site/system.integration.test.ts:164)", "shortDescription": {"text": "Dangling fetch: GET /api/site/changelog (server/http/site/system.integration.test.ts:164)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:164` calls `GET /api/site/changelog` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/changelog`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8b9fd6365179ba25", "name": "Dangling fetch: GET /api/site/options (server/http/site/system.integration.test.ts:192)", "shortDescription": {"text": "Dangling fetch: GET /api/site/options (server/http/site/system.integration.test.ts:192)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:192` calls `GET /api/site/options` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6a549faefd163ff5", "name": "Dangling fetch: GET /api/site/options/${CAPTCHA_SECRET_OPTION_KEY} (server/http/site/system.integration.test.ts:198)", "shortDescription": {"text": "Dangling fetch: GET /api/site/options/${CAPTCHA_SECRET_OPTION_KEY} (server/http/site/system.integration.test.ts:198)"}, "fullDescription": {"text": "`server/http/site/system.integration.test.ts:198` calls `GET /api/site/options/${CAPTCHA_SECRET_OPTION_KEY}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-55ef7e012b80eaa6", "name": "Dangling fetch: PUT /api/site/auth-providers/${providerId} (server/http/site/auth-providers.integration.test.ts:26)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/auth-providers/${providerId} (server/http/site/auth-providers.integration.test.ts:26)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:26` calls `PUT /api/site/auth-providers/${providerId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0b679b01de533bd3", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:36)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:36)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:36` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-96982355b4dd8a96", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:50)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:50)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:50` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a73f9e60c0fe1b26", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:63)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:63)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:63` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2055fdb4ee7d9b45", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:74)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:74)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:74` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a19bb7954b7c3903", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:86)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:86)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:86` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-caa6783d15131ae8", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:100)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:100)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:100` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a8bbf8f532fbcdde", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:113)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:113)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:113` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0cc35cd26aa3da67", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:132)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:132)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:132` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ed7cb2346f1d0a99", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:142)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:142)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:142` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5051b1ea7ca330cc", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:156)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:156)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:156` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8c2fa163d187b854", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:167)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:167)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:167` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4c148169ba2b6e54", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:180)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:180)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:180` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2d30b9641ce9c150", "name": "Dangling fetch: PUT /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:189)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:189)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:189` calls `PUT /api/site/auth-providers/github` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers/github`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-baa8ae7e15f8d9d1", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:264)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:264)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:264` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5e6d0d3f149e1409", "name": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:332)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:332)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:332` calls `DELETE /api/site/auth-providers/github` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers/github`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c44b9961ddcaf272", "name": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:342)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:342)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:342` calls `DELETE /api/site/auth-providers/github` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers/github`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-500cc1751fdec954", "name": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:354)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:354)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:354` calls `DELETE /api/site/auth-providers/github` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers/github`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e514e6ea3c7e80cb", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:356)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:356)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:356` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-07472f32cc8f01c0", "name": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:366)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:366)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:366` calls `DELETE /api/site/auth-providers/github` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers/github`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-51e2cd0404985d55", "name": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:368)", "shortDescription": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:368)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:368` calls `GET /api/site/auth-providers` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d33c930d123d7a5f", "name": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:377)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:377)"}, "fullDescription": {"text": "`server/http/site/auth-providers.integration.test.ts:377` calls `DELETE /api/site/auth-providers/github` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/auth-providers/github`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cae92e16cdee19ac", "name": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:7)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:7)"}, "fullDescription": {"text": "`server/http/site/audit.integration.test.ts:7` calls `GET /api/site/audit-events` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5666c126d3ab98cb", "name": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:15)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:15)"}, "fullDescription": {"text": "`server/http/site/audit.integration.test.ts:15` calls `GET /api/site/audit-events` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1bd7fb63ef1239fd", "name": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:23)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:23)"}, "fullDescription": {"text": "`server/http/site/audit.integration.test.ts:23` calls `GET /api/site/audit-events` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-153ccf21e50bb28e", "name": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:36)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:36)"}, "fullDescription": {"text": "`server/http/site/audit.integration.test.ts:36` calls `GET /api/site/audit-events` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-851e490bab423dc7", "name": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:79)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:79)"}, "fullDescription": {"text": "`server/http/site/audit.integration.test.ts:79` calls `GET /api/site/audit-events` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d00a82e119d2257a", "name": "Dangling fetch: GET /api/site/audit-events?orgId=org-x (server/http/site/audit.integration.test.ts:119)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events?orgId=org-x (server/http/site/audit.integration.test.ts:119)"}, "fullDescription": {"text": "`server/http/site/audit.integration.test.ts:119` calls `GET /api/site/audit-events?orgId=org-x` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-08cec3921e97974d", "name": "Dangling fetch: GET /api/site/audit-events?userId=alice (server/http/site/audit.integration.test.ts:157)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events?userId=alice (server/http/site/audit.integration.test.ts:157)"}, "fullDescription": {"text": "`server/http/site/audit.integration.test.ts:157` calls `GET /api/site/audit-events?userId=alice` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d6e83504b564938a", "name": "Dangling fetch: GET /api/site/audit-events?action=upload (server/http/site/audit.integration.test.ts:194)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events?action=upload (server/http/site/audit.integration.test.ts:194)"}, "fullDescription": {"text": "`server/http/site/audit.integration.test.ts:194` calls `GET /api/site/audit-events?action=upload` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-322ba17b5d44fe30", "name": "Dangling fetch: GET /api/site/audit-events?targetType=folder (server/http/site/audit.integration.test.ts:231)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events?targetType=folder (server/http/site/audit.integration.test.ts:231)"}, "fullDescription": {"text": "`server/http/site/audit.integration.test.ts:231` calls `GET /api/site/audit-events?targetType=folder` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0c3f9abde640f1c5", "name": "Dangling fetch: GET /api/site/audit-events?page=2&pageSize=2&orgId=org-pg (server/http/site/audit.integration.test.ts:25", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events?page=2&pageSize=2&orgId=org-pg (server/http/site/audit.integration.test.ts:258)"}, "fullDescription": {"text": "`server/http/site/audit.integration.test.ts:258` calls `GET /api/site/audit-events?page=2&pageSize=2&orgId=org-pg` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2da327075618ecf0", "name": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:298)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:298)"}, "fullDescription": {"text": "`server/http/site/audit.integration.test.ts:298` calls `GET /api/site/audit-events` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-926f7e4d7c97cd55", "name": "Dangling fetch: POST /api/site/announcements (server/http/site/announcements.integration.test.ts:16)", "shortDescription": {"text": "Dangling fetch: POST /api/site/announcements (server/http/site/announcements.integration.test.ts:16)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:16` calls `POST /api/site/announcements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-74d142ace873001a", "name": "Dangling fetch: GET /api/site/announcements?scope=all (server/http/site/announcements.integration.test.ts:27)", "shortDescription": {"text": "Dangling fetch: GET /api/site/announcements?scope=all (server/http/site/announcements.integration.test.ts:27)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:27` calls `GET /api/site/announcements?scope=all` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fffd51c1fdbff09e", "name": "Dangling fetch: GET /api/site/announcements?scope=all (server/http/site/announcements.integration.test.ts:37)", "shortDescription": {"text": "Dangling fetch: GET /api/site/announcements?scope=all (server/http/site/announcements.integration.test.ts:37)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:37` calls `GET /api/site/announcements?scope=all` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae098c82cfe07a2a", "name": "Dangling fetch: GET /api/site/announcements?scope=all (server/http/site/announcements.integration.test.ts:45)", "shortDescription": {"text": "Dangling fetch: GET /api/site/announcements?scope=all (server/http/site/announcements.integration.test.ts:45)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:45` calls `GET /api/site/announcements?scope=all` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5fe5b215391f1486", "name": "Dangling fetch: POST /api/site/announcements (server/http/site/announcements.integration.test.ts:56)", "shortDescription": {"text": "Dangling fetch: POST /api/site/announcements (server/http/site/announcements.integration.test.ts:56)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:56` calls `POST /api/site/announcements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5de5c5e49f90f138", "name": "Dangling fetch: PUT /api/site/announcements/${created.id} (server/http/site/announcements.integration.test.ts:65)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/announcements/${created.id} (server/http/site/announcements.integration.test.ts:65)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:65` calls `PUT /api/site/announcements/${created.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0834523db609150f", "name": "Dangling fetch: GET /api/site/announcements?status=published (server/http/site/announcements.integration.test.ts:75)", "shortDescription": {"text": "Dangling fetch: GET /api/site/announcements?status=published (server/http/site/announcements.integration.test.ts:75)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:75` calls `GET /api/site/announcements?status=published` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3aea9c130f2f46e0", "name": "Dangling fetch: DELETE /api/site/announcements/${created.id} (server/http/site/announcements.integration.test.ts:81)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/announcements/${created.id} (server/http/site/announcements.integration.test.ts:81)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:81` calls `DELETE /api/site/announcements/${created.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8fd17a3dd19d90a1", "name": "Dangling fetch: GET /api/site/announcements (server/http/site/announcements.integration.test.ts:89)", "shortDescription": {"text": "Dangling fetch: GET /api/site/announcements (server/http/site/announcements.integration.test.ts:89)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:89` calls `GET /api/site/announcements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5f8dae7e3f22811a", "name": "Dangling fetch: GET /api/site/announcements (server/http/site/announcements.integration.test.ts:98)", "shortDescription": {"text": "Dangling fetch: GET /api/site/announcements (server/http/site/announcements.integration.test.ts:98)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:98` calls `GET /api/site/announcements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e5910979f655402b", "name": "Dangling fetch: GET /api/site/announcements?scope=active (server/http/site/announcements.integration.test.ts:110)", "shortDescription": {"text": "Dangling fetch: GET /api/site/announcements?scope=active (server/http/site/announcements.integration.test.ts:110)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:110` calls `GET /api/site/announcements?scope=active` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0c45ee8cda4748d2", "name": "Dangling fetch: POST /api/site/announcements (server/http/site/announcements.integration.test.ts:121)", "shortDescription": {"text": "Dangling fetch: POST /api/site/announcements (server/http/site/announcements.integration.test.ts:121)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:121` calls `POST /api/site/announcements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c7b64593b71df44d", "name": "Dangling fetch: PUT /api/site/announcements/${created.id} (server/http/site/announcements.integration.test.ts:128)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/announcements/${created.id} (server/http/site/announcements.integration.test.ts:128)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:128` calls `PUT /api/site/announcements/${created.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4505341ba692be60", "name": "Dangling fetch: GET /api/site/announcements?scope=active (server/http/site/announcements.integration.test.ts:136)", "shortDescription": {"text": "Dangling fetch: GET /api/site/announcements?scope=active (server/http/site/announcements.integration.test.ts:136)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:136` calls `GET /api/site/announcements?scope=active` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-47ce62a7df19e6c8", "name": "Dangling fetch: GET /api/site/announcements (server/http/site/announcements.integration.test.ts:140)", "shortDescription": {"text": "Dangling fetch: GET /api/site/announcements (server/http/site/announcements.integration.test.ts:140)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:140` calls `GET /api/site/announcements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-51d3bab4fd90dad5", "name": "Dangling fetch: POST /api/site/announcements (server/http/site/announcements.integration.test.ts:150)", "shortDescription": {"text": "Dangling fetch: POST /api/site/announcements (server/http/site/announcements.integration.test.ts:150)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:150` calls `POST /api/site/announcements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6306b594fbba2a37", "name": "Dangling fetch: GET /api/site/announcements (server/http/site/announcements.integration.test.ts:157)", "shortDescription": {"text": "Dangling fetch: GET /api/site/announcements (server/http/site/announcements.integration.test.ts:157)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:157` calls `GET /api/site/announcements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dee6b63468bd06f6", "name": "Dangling fetch: GET /api/site/announcements?page=abc&pageSize=xyz (server/http/site/announcements.integration.test.ts:16", "shortDescription": {"text": "Dangling fetch: GET /api/site/announcements?page=abc&pageSize=xyz (server/http/site/announcements.integration.test.ts:169)"}, "fullDescription": {"text": "`server/http/site/announcements.integration.test.ts:169` calls `GET /api/site/announcements?page=abc&pageSize=xyz` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/announcements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b7d729d8be5f2a89", "name": "Dangling fetch: POST /api/objects (server/http/site/audit-events.integration.test.ts:108)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/site/audit-events.integration.test.ts:108)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:108` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7e7c77106fb4ad68", "name": "Dangling fetch: PUT /api/objects/${matterId}/status (server/http/site/audit-events.integration.test.ts:117)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/${matterId}/status (server/http/site/audit-events.integration.test.ts:117)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:117` calls `PUT /api/objects/${matterId}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f49c85d4ffd97059", "name": "Dangling fetch: POST /api/objects (server/http/site/audit-events.integration.test.ts:138)", "shortDescription": {"text": "Dangling fetch: POST /api/objects (server/http/site/audit-events.integration.test.ts:138)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:138` calls `POST /api/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a4468c0f78673d05", "name": "Dangling fetch: DELETE /api/objects/${matterId} (server/http/site/audit-events.integration.test.ts:146)", "shortDescription": {"text": "Dangling fetch: DELETE /api/objects/${matterId} (server/http/site/audit-events.integration.test.ts:146)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:146` calls `DELETE /api/objects/${matterId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bf7c4f2896c38947", "name": "Dangling fetch: POST /api/objects/src-file/copies (server/http/site/audit-events.integration.test.ts:167)", "shortDescription": {"text": "Dangling fetch: POST /api/objects/src-file/copies (server/http/site/audit-events.integration.test.ts:167)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:167` calls `POST /api/objects/src-file/copies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/src-file/copies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-313efb90247a2584", "name": "Dangling fetch: DELETE /api/objects/trashed-file (server/http/site/audit-events.integration.test.ts:189)", "shortDescription": {"text": "Dangling fetch: DELETE /api/objects/trashed-file (server/http/site/audit-events.integration.test.ts:189)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:189` calls `DELETE /api/objects/trashed-file` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/trashed-file`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2c9bd11347934dae", "name": "Dangling fetch: PUT /api/objects/trash-file/status (server/http/site/audit-events.integration.test.ts:211)", "shortDescription": {"text": "Dangling fetch: PUT /api/objects/trash-file/status (server/http/site/audit-events.integration.test.ts:211)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:211` calls `PUT /api/objects/trash-file/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/trash-file/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9cc38c3a79967ba7", "name": "Dangling fetch: DELETE /api/trash (server/http/site/audit-events.integration.test.ts:233)", "shortDescription": {"text": "Dangling fetch: DELETE /api/trash (server/http/site/audit-events.integration.test.ts:233)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:233` calls `DELETE /api/trash` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/trash`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3803ae53384be74a", "name": "Dangling fetch: DELETE /api/trash (server/http/site/audit-events.integration.test.ts:252)", "shortDescription": {"text": "Dangling fetch: DELETE /api/trash (server/http/site/audit-events.integration.test.ts:252)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:252` calls `DELETE /api/trash` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/trash`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0ff083174a814845", "name": "Dangling fetch: POST /api/shares (server/http/site/audit-events.integration.test.ts:272)", "shortDescription": {"text": "Dangling fetch: POST /api/shares (server/http/site/audit-events.integration.test.ts:272)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:272` calls `POST /api/shares` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ea82fc735b0cbfc0", "name": "Dangling fetch: POST /api/shares (server/http/site/audit-events.integration.test.ts:299)", "shortDescription": {"text": "Dangling fetch: POST /api/shares (server/http/site/audit-events.integration.test.ts:299)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:299` calls `POST /api/shares` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ef2a1d431cd7c08", "name": "Dangling fetch: DELETE /api/shares/${token} (server/http/site/audit-events.integration.test.ts:306)", "shortDescription": {"text": "Dangling fetch: DELETE /api/shares/${token} (server/http/site/audit-events.integration.test.ts:306)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:306` calls `DELETE /api/shares/${token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1dd201027b9f3649", "name": "Dangling fetch: POST /api/teams/${orgId}/invite-links (server/http/site/audit-events.integration.test.ts:328)", "shortDescription": {"text": "Dangling fetch: POST /api/teams/${orgId}/invite-links (server/http/site/audit-events.integration.test.ts:328)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:328` calls `POST /api/teams/${orgId}/invite-links` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/invite-links`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-692c01ada2ce5bb7", "name": "Dangling fetch: POST /api/teams/${orgId}/invite-links (server/http/site/audit-events.integration.test.ts:350)", "shortDescription": {"text": "Dangling fetch: POST /api/teams/${orgId}/invite-links (server/http/site/audit-events.integration.test.ts:350)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:350` calls `POST /api/teams/${orgId}/invite-links` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/invite-links`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5f09437701610ebe", "name": "Dangling fetch: POST /api/teams/${orgId}/members (server/http/site/audit-events.integration.test.ts:359)", "shortDescription": {"text": "Dangling fetch: POST /api/teams/${orgId}/members (server/http/site/audit-events.integration.test.ts:359)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:359` calls `POST /api/teams/${orgId}/members` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/teams/<p>/members`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bfd21f3e2678ea19", "name": "Dangling fetch: PUT /api/site/options/site_title (server/http/site/audit-events.integration.test.ts:381)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/options/site_title (server/http/site/audit-events.integration.test.ts:381)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:381` calls `PUT /api/site/options/site_title` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/site_title`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-942c1f2518c2bf19", "name": "Dangling fetch: PUT /api/site/options/temp_key (server/http/site/audit-events.integration.test.ts:400)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/options/temp_key (server/http/site/audit-events.integration.test.ts:400)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:400` calls `PUT /api/site/options/temp_key` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/temp_key`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c7acb12512ba919a", "name": "Dangling fetch: DELETE /api/site/options/temp_key (server/http/site/audit-events.integration.test.ts:406)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/options/temp_key (server/http/site/audit-events.integration.test.ts:406)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:406` calls `DELETE /api/site/options/temp_key` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/temp_key`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a318c008b9e1986f", "name": "Dangling fetch: POST /api/site/storages (server/http/site/audit-events.integration.test.ts:428)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/audit-events.integration.test.ts:428)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:428` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a333da70452af76b", "name": "Dangling fetch: POST /api/site/storages (server/http/site/audit-events.integration.test.ts:458)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/audit-events.integration.test.ts:458)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:458` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a527c535860019b0", "name": "Dangling fetch: PUT /api/site/storages/${storageId} (server/http/site/audit-events.integration.test.ts:473)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/storages/${storageId} (server/http/site/audit-events.integration.test.ts:473)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:473` calls `PUT /api/site/storages/${storageId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-024fe284e1c5a833", "name": "Dangling fetch: POST /api/site/storages (server/http/site/audit-events.integration.test.ts:492)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/audit-events.integration.test.ts:492)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:492` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-27d08f53d50d9dfe", "name": "Dangling fetch: DELETE /api/site/storages/${storageId} (server/http/site/audit-events.integration.test.ts:507)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/storages/${storageId} (server/http/site/audit-events.integration.test.ts:507)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:507` calls `DELETE /api/site/storages/${storageId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2a4a4d0b6b017e76", "name": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/site/audit-events.integration.test.ts:530)", "shortDescription": {"text": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/site/audit-events.integration.test.ts:530)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:530` calls `POST /api/users/${userId}/entitlements` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/entitlements`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-65758ff96418da20", "name": "Dangling fetch: POST /api/site/invite-codes (server/http/site/audit-events.integration.test.ts:555)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/audit-events.integration.test.ts:555)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:555` calls `POST /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c494ba5e3d8d6709", "name": "Dangling fetch: POST /api/site/invite-codes (server/http/site/audit-events.integration.test.ts:575)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/audit-events.integration.test.ts:575)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:575` calls `POST /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e1f46a01351bbda1", "name": "Dangling fetch: DELETE /api/site/invite-codes/${codes[0].id} (server/http/site/audit-events.integration.test.ts:582)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/invite-codes/${codes[0].id} (server/http/site/audit-events.integration.test.ts:582)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:582` calls `DELETE /api/site/invite-codes/${codes[0].id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-acddec6bc5bc3b40", "name": "Dangling fetch: GET /api/users (server/http/site/audit-events.integration.test.ts:604)", "shortDescription": {"text": "Dangling fetch: GET /api/users (server/http/site/audit-events.integration.test.ts:604)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:604` calls `GET /api/users` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f46cd241e10fbd19", "name": "Dangling fetch: PATCH /api/users/${target!.id} (server/http/site/audit-events.integration.test.ts:609)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/${target!.id} (server/http/site/audit-events.integration.test.ts:609)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:609` calls `PATCH /api/users/${target!.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9d6a6de2a4f39a94", "name": "Dangling fetch: GET /api/users (server/http/site/audit-events.integration.test.ts:627)", "shortDescription": {"text": "Dangling fetch: GET /api/users (server/http/site/audit-events.integration.test.ts:627)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:627` calls `GET /api/users` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5ba1007c3408b71e", "name": "Dangling fetch: PATCH /api/users/${target.id} (server/http/site/audit-events.integration.test.ts:632)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/${target.id} (server/http/site/audit-events.integration.test.ts:632)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:632` calls `PATCH /api/users/${target.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-11a6679fe078517d", "name": "Dangling fetch: PATCH /api/users/${target.id} (server/http/site/audit-events.integration.test.ts:639)", "shortDescription": {"text": "Dangling fetch: PATCH /api/users/${target.id} (server/http/site/audit-events.integration.test.ts:639)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:639` calls `PATCH /api/users/${target.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8b7b2674741d72f9", "name": "Dangling fetch: GET /api/users (server/http/site/audit-events.integration.test.ts:657)", "shortDescription": {"text": "Dangling fetch: GET /api/users (server/http/site/audit-events.integration.test.ts:657)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:657` calls `GET /api/users` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9c2bffc93d63c9d5", "name": "Dangling fetch: DELETE /api/users/${target.id} (server/http/site/audit-events.integration.test.ts:661)", "shortDescription": {"text": "Dangling fetch: DELETE /api/users/${target.id} (server/http/site/audit-events.integration.test.ts:661)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:661` calls `DELETE /api/users/${target.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3e54f015fe0665d8", "name": "Dangling fetch: GET /api/shares/${share.token} (server/http/site/audit-events.integration.test.ts:687)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/site/audit-events.integration.test.ts:687)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:687` calls `GET /api/shares/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-189b029751eafefe", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/site/audit-events.integrati", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/site/audit-events.integration.test.ts:691)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:691` calls `GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-32dde567d1e021e9", "name": "Dangling fetch: GET /api/shares/${share.token} (server/http/site/audit-events.integration.test.ts:714)", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/site/audit-events.integration.test.ts:714)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:714` calls `GET /api/shares/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-727d1709f8adfad0", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${meta.rootRef}?downloadUrl=1 (server/http/site/audit-events.inte", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${meta.rootRef}?downloadUrl=1 (server/http/site/audit-events.integration.test.ts:718)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:718` calls `GET /api/shares/${share.token}/objects/${meta.rootRef}?downloadUrl=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e48eb4f5be6c008e", "name": "Dangling fetch: POST /api/auth/organization/create (server/http/site/audit-events.integration.test.ts:740)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/create (server/http/site/audit-events.integration.test.ts:740)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:740` calls `POST /api/auth/organization/create` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/create`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1425edd93b245035", "name": "Dangling fetch: POST /api/auth/organization/update (server/http/site/audit-events.integration.test.ts:749)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/update (server/http/site/audit-events.integration.test.ts:749)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:749` calls `POST /api/auth/organization/update` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/update`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f48e0d96f8ba2c3b", "name": "Dangling fetch: GET /api/auth/get-session (server/http/site/audit-events.integration.test.ts:769)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/get-session (server/http/site/audit-events.integration.test.ts:769)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:769` calls `GET /api/auth/get-session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/get-session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fe61c009892ba1cf", "name": "Dangling fetch: POST /api/auth/organization/create (server/http/site/audit-events.integration.test.ts:774)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/create (server/http/site/audit-events.integration.test.ts:774)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:774` calls `POST /api/auth/organization/create` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/create`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6155a8968393d00b", "name": "Dangling fetch: POST /api/auth/organization/remove-member (server/http/site/audit-events.integration.test.ts:792)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/remove-member (server/http/site/audit-events.integration.test.ts:792)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:792` calls `POST /api/auth/organization/remove-member` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/remove-member`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a5898feaae9ea9c1", "name": "Dangling fetch: POST /api/auth/organization/create (server/http/site/audit-events.integration.test.ts:821)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/create (server/http/site/audit-events.integration.test.ts:821)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:821` calls `POST /api/auth/organization/create` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/create`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0f1a2f9315d7361c", "name": "Dangling fetch: POST /api/auth/organization/update-member-role (server/http/site/audit-events.integration.test.ts:836)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/update-member-role (server/http/site/audit-events.integration.test.ts:836)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:836` calls `POST /api/auth/organization/update-member-role` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/update-member-role`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f9543dc0e25aabb1", "name": "Dangling fetch: POST /api/auth/organization/create (server/http/site/audit-events.integration.test.ts:857)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/create (server/http/site/audit-events.integration.test.ts:857)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:857` calls `POST /api/auth/organization/create` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/create`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f76e29b1af6699ab", "name": "Dangling fetch: POST /api/auth/organization/delete (server/http/site/audit-events.integration.test.ts:865)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/delete (server/http/site/audit-events.integration.test.ts:865)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:865` calls `POST /api/auth/organization/delete` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/delete`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9d15695db2e1fa88", "name": "Dangling fetch: POST /api/site/licensing/refresh-runs (server/http/site/audit-events.integration.test.ts:888)", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/refresh-runs (server/http/site/audit-events.integration.test.ts:888)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:888` calls `POST /api/site/licensing/refresh-runs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/refresh-runs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-30138d063d7cad1c", "name": "Dangling fetch: PUT /api/site/options/audit_test_key (server/http/site/audit-events.integration.test.ts:910)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/options/audit_test_key (server/http/site/audit-events.integration.test.ts:910)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:910` calls `PUT /api/site/options/audit_test_key` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/audit_test_key`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5b88caece34701c3", "name": "Dangling fetch: GET /api/site/audit-events?action=system_option_set (server/http/site/audit-events.integration.test.ts:9", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events?action=system_option_set (server/http/site/audit-events.integration.test.ts:916)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:916` calls `GET /api/site/audit-events?action=system_option_set` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ba72090e315663b0", "name": "Dangling fetch: PUT /api/site/options/another_key (server/http/site/audit-events.integration.test.ts:929)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/options/another_key (server/http/site/audit-events.integration.test.ts:929)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:929` calls `PUT /api/site/options/another_key` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/another_key`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9a48752c724f26e1", "name": "Dangling fetch: GET /api/site/audit-events?targetType=system (server/http/site/audit-events.integration.test.ts:935)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events?targetType=system (server/http/site/audit-events.integration.test.ts:935)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:935` calls `GET /api/site/audit-events?targetType=system` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-18f0fa2d3a4e36d0", "name": "Dangling fetch: GET /api/site/audit-events?action=upload (server/http/site/audit-events.integration.test.ts:953)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events?action=upload (server/http/site/audit-events.integration.test.ts:953)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:953` calls `GET /api/site/audit-events?action=upload` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c39e1f32d0ae91c8", "name": "Dangling fetch: GET /api/site/audit-events?targetType=file (server/http/site/audit-events.integration.test.ts:955)", "shortDescription": {"text": "Dangling fetch: GET /api/site/audit-events?targetType=file (server/http/site/audit-events.integration.test.ts:955)"}, "fullDescription": {"text": "`server/http/site/audit-events.integration.test.ts:955` calls `GET /api/site/audit-events?targetType=file` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/audit-events`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1faf3a36d64d2e3c", "name": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:39)", "shortDescription": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:39)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:39` calls `GET /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3c649594abd6837e", "name": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:53)", "shortDescription": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:53)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:53` calls `GET /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1543ed4f66c770d8", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:59)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:59)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:59` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e925c2c6a818b210", "name": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:69)", "shortDescription": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:69)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:69` calls `POST /api/site/email/test-messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email/test-messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-665ad3a54437edbc", "name": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:82)", "shortDescription": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:82)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:82` calls `GET /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d2348ef4cb72096e", "name": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:93)", "shortDescription": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:93)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:93` calls `GET /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f29d3b95ec583bd4", "name": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:106)", "shortDescription": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:106)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:106` calls `GET /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-310ea2614c110a5c", "name": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:128)", "shortDescription": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:128)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:128` calls `GET /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3dfe73342e139240", "name": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:151)", "shortDescription": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:151)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:151` calls `GET /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d768346ee60bc165", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:165)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:165)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:165` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ea737352d6db834", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:190)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:190)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:190` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3733445928dd8624", "name": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:207)", "shortDescription": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:207)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:207` calls `GET /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1612e8569cfed992", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:220)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:220)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:220` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-457a9c6905282b39", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:242)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:242)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:242` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e13db06124166bb7", "name": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:256)", "shortDescription": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:256)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:256` calls `GET /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2dacba85bd7fb54b", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:268)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:268)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:268` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eae772c422248ea3", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:280)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:280)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:280` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-34c2998014fc70f5", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:292)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:292)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:292` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ef4dbd8ce70049f", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:303)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:303)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:303` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-81311edb1bb7a36c", "name": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:314)", "shortDescription": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:314)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:314` calls `GET /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ed66aa65cddcc0a2", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:326)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:326)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:326` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e491279bb6914037", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:343)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:343)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:343` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-46c537204a426398", "name": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:353)", "shortDescription": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:353)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:353` calls `GET /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e2fbfdc060fd1ded", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:365)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:365)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:365` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2d19a5ad261d312d", "name": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:376)", "shortDescription": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:376)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:376` calls `GET /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3d443604b08417f5", "name": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:396)", "shortDescription": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:396)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:396` calls `POST /api/site/email/test-messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email/test-messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-54ac15af1bb3bbfe", "name": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:418)", "shortDescription": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:418)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:418` calls `POST /api/site/email/test-messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email/test-messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-08f6edae851c4afc", "name": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:433)", "shortDescription": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:433)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:433` calls `POST /api/site/email/test-messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email/test-messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fef8d2212fe02913", "name": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:448)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:448)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:448` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c41cadce916c7204", "name": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:459)", "shortDescription": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:459)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:459` calls `POST /api/site/email/test-messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email/test-messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-12aa5e411ae98c93", "name": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:476)", "shortDescription": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:476)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:476` calls `POST /api/site/email/test-messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email/test-messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9a74d80237183d7a", "name": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:490)", "shortDescription": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:490)"}, "fullDescription": {"text": "`server/http/site/email-config.integration.test.ts:490` calls `POST /api/site/email/test-messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/email/test-messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ebfb0c50b5ab2fb6", "name": "Dangling fetch: GET /api/site/licensing/status (server/http/site/licensing.integration.test.ts:10)", "shortDescription": {"text": "Dangling fetch: GET /api/site/licensing/status (server/http/site/licensing.integration.test.ts:10)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:10` calls `GET /api/site/licensing/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-aae20262a8b522bb", "name": "Dangling fetch: GET /api/site/licensing/status (server/http/site/licensing.integration.test.ts:35)", "shortDescription": {"text": "Dangling fetch: GET /api/site/licensing/status (server/http/site/licensing.integration.test.ts:35)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:35` calls `GET /api/site/licensing/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8e50416767585a13", "name": "Dangling fetch: GET /api/site/licensing/status (server/http/site/licensing.integration.test.ts:60)", "shortDescription": {"text": "Dangling fetch: GET /api/site/licensing/status (server/http/site/licensing.integration.test.ts:60)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:60` calls `GET /api/site/licensing/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-86b38b8822286e79", "name": "Dangling fetch: GET /api/site/licensing/status (server/http/site/licensing.integration.test.ts:69)", "shortDescription": {"text": "Dangling fetch: GET /api/site/licensing/status (server/http/site/licensing.integration.test.ts:69)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:69` calls `GET /api/site/licensing/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f6666b1962606dbf", "name": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=anything (server/http/site/licensing.integration.test.ts:96", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=anything (server/http/site/licensing.integration.test.ts:96)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:96` calls `POST /api/site/licensing/refresh-cron?secret=anything` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/refresh-cron`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-df1b7f8e4a03db69", "name": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=wrong-secret (server/http/site/licensing.integration.test.t", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=wrong-secret (server/http/site/licensing.integration.test.ts:106)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:106` calls `POST /api/site/licensing/refresh-cron?secret=wrong-secret` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/refresh-cron`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d51359dca801c0e2", "name": "Dangling fetch: POST /api/site/licensing/refresh-cron (server/http/site/licensing.integration.test.ts:116)", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron (server/http/site/licensing.integration.test.ts:116)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:116` calls `POST /api/site/licensing/refresh-cron` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/refresh-cron`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-85072da5588d468a", "name": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=correct-secret (server/http/site/licensing.integration.test", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=correct-secret (server/http/site/licensing.integration.test.ts:124)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:124` calls `POST /api/site/licensing/refresh-cron?secret=correct-secret` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/refresh-cron`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a6db891f82085452", "name": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=cron-secret (server/http/site/licensing.integration.test.ts", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=cron-secret (server/http/site/licensing.integration.test.ts:143)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:143` calls `POST /api/site/licensing/refresh-cron?secret=cron-secret` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/refresh-cron`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7f67a8416df9e695", "name": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=cron-secret (server/http/site/licensing.integration.test.ts", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=cron-secret (server/http/site/licensing.integration.test.ts:158)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:158` calls `POST /api/site/licensing/refresh-cron?secret=cron-secret` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/refresh-cron`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1ddb14bb10e34379", "name": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=my-secret (server/http/site/licensing.integration.test.ts:1", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=my-secret (server/http/site/licensing.integration.test.ts:169)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:169` calls `POST /api/site/licensing/refresh-cron?secret=my-secret` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/refresh-cron`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1c9ee52819213c33", "name": "Dangling fetch: POST /api/site/licensing/traffic-sync-runs?secret=traffic-secret (server/http/site/licensing.integration", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/traffic-sync-runs?secret=traffic-secret (server/http/site/licensing.integration.test.ts:198)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:198` calls `POST /api/site/licensing/traffic-sync-runs?secret=traffic-secret` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/traffic-sync-runs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c85e2cfe6692ee56", "name": "Dangling fetch: POST /api/site/licensing/traffic-sync-runs?secret=wrong-secret (server/http/site/licensing.integration.t", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/traffic-sync-runs?secret=wrong-secret (server/http/site/licensing.integration.test.ts:211)"}, "fullDescription": {"text": "`server/http/site/licensing.integration.test.ts:211` calls `POST /api/site/licensing/traffic-sync-runs?secret=wrong-secret` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/traffic-sync-runs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e8b0e5e4e23495d2", "name": "Dangling fetch: GET /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:10)", "shortDescription": {"text": "Dangling fetch: GET /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:10)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:10` calls `GET /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7802c0af7c1e5212", "name": "Dangling fetch: GET /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:18)", "shortDescription": {"text": "Dangling fetch: GET /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:18)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:18` calls `GET /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-40df467bbfe65a45", "name": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:24)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:24)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:24` calls `POST /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f70110a197f63fb1", "name": "Dangling fetch: DELETE /api/site/invite-codes/someid (server/http/site/invite-codes.integration.test.ts:34)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/invite-codes/someid (server/http/site/invite-codes.integration.test.ts:34)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:34` calls `DELETE /api/site/invite-codes/someid` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/someid`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-842cbd8f6646b37c", "name": "Dangling fetch: GET /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:43)", "shortDescription": {"text": "Dangling fetch: GET /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:43)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:43` calls `GET /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ee8e4a855f280bf0", "name": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:53)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:53)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:53` calls `POST /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-52174cb8acf72985", "name": "Dangling fetch: GET /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:59)", "shortDescription": {"text": "Dangling fetch: GET /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:59)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:59` calls `GET /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6f718090fc6ab0e9", "name": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:70)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:70)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:70` calls `POST /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-adc543f15e40fced", "name": "Dangling fetch: GET /api/site/invite-codes?page=2&pageSize=3 (server/http/site/invite-codes.integration.test.ts:76)", "shortDescription": {"text": "Dangling fetch: GET /api/site/invite-codes?page=2&pageSize=3 (server/http/site/invite-codes.integration.test.ts:76)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:76` calls `GET /api/site/invite-codes?page=2&pageSize=3` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-75687353c1e8f2f0", "name": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:88)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:88)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:88` calls `POST /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-86d25d02378b972a", "name": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:101)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:101)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:101` calls `POST /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5b807b22262b9da2", "name": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:114)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:114)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:114` calls `POST /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-900e949b7b771891", "name": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:125)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:125)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:125` calls `POST /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4642fc62dbd1d9e8", "name": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:136)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:136)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:136` calls `POST /api/site/invite-codes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2b35d107f7443da8", "name": "Dangling fetch: DELETE /api/site/invite-codes/${row.id} (server/http/site/invite-codes.integration.test.ts:151)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/invite-codes/${row.id} (server/http/site/invite-codes.integration.test.ts:151)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:151` calls `DELETE /api/site/invite-codes/${row.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-37315b8ff1c58659", "name": "Dangling fetch: DELETE /api/site/invite-codes/nonexistent (server/http/site/invite-codes.integration.test.ts:164)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/invite-codes/nonexistent (server/http/site/invite-codes.integration.test.ts:164)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:164` calls `DELETE /api/site/invite-codes/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-41ebb6cd609345d9", "name": "Dangling fetch: DELETE /api/site/invite-codes/${row.id} (server/http/site/invite-codes.integration.test.ts:177)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/invite-codes/${row.id} (server/http/site/invite-codes.integration.test.ts:177)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:177` calls `DELETE /api/site/invite-codes/${row.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-13c42ed5fcabbb15", "name": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:192)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:192)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:192` calls `POST /api/site/invite-codes/validations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/validations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d42c8bbac33ad6c4", "name": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:204)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:204)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:204` calls `POST /api/site/invite-codes/validations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/validations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b16a893fad7725e7", "name": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:220)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:220)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:220` calls `POST /api/site/invite-codes/validations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/validations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3182d873b4c7a32c", "name": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:235)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:235)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:235` calls `POST /api/site/invite-codes/validations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/validations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1c6065d5b49a1052", "name": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:247)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:247)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:247` calls `POST /api/site/invite-codes/validations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/validations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-708e01a86fa87796", "name": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:257)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:257)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:257` calls `POST /api/site/invite-codes/validations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/validations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3e59a4ac0983b5ce", "name": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:267)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:267)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:267` calls `POST /api/site/invite-codes/validations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/validations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-387d07d1d7908869", "name": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:277)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:277)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:277` calls `POST /api/site/invite-codes/validations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/validations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-23278d1641cc1fc0", "name": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:287)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:287)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:287` calls `POST /api/site/invite-codes/validations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/validations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-189811286fab752f", "name": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:300)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:300)"}, "fullDescription": {"text": "`server/http/site/invite-codes.integration.test.ts:300` calls `POST /api/site/invite-codes/validations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invite-codes/validations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-89d43b783b7b33dd", "name": "Dangling fetch: PUT /api/site/options/${key} (server/http/site/system.test.ts:17)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/options/${key} (server/http/site/system.test.ts:17)"}, "fullDescription": {"text": "`server/http/site/system.test.ts:17` calls `PUT /api/site/options/${key}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-81dc78c4dc0f935a", "name": "Dangling fetch: GET /api/site/options (server/http/site/system.cf-test.ts:16)", "shortDescription": {"text": "Dangling fetch: GET /api/site/options (server/http/site/system.cf-test.ts:16)"}, "fullDescription": {"text": "`server/http/site/system.cf-test.ts:16` calls `GET /api/site/options` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0fa02e389199599a", "name": "Dangling fetch: GET /api/site/options/nonexistent_key (server/http/site/system.cf-test.ts:24)", "shortDescription": {"text": "Dangling fetch: GET /api/site/options/nonexistent_key (server/http/site/system.cf-test.ts:24)"}, "fullDescription": {"text": "`server/http/site/system.cf-test.ts:24` calls `GET /api/site/options/nonexistent_key` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/nonexistent_key`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ee970a2d064c825d", "name": "Dangling fetch: POST /api/site/licensing/pairings (server/http/site/licensing-admin.integration.test.ts:60)", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/pairings (server/http/site/licensing-admin.integration.test.ts:60)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:60` calls `POST /api/site/licensing/pairings` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/pairings`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ba5de160df8d653", "name": "Dangling fetch: GET /api/site/licensing/pairings/ABC-123 (server/http/site/licensing-admin.integration.test.ts:66)", "shortDescription": {"text": "Dangling fetch: GET /api/site/licensing/pairings/ABC-123 (server/http/site/licensing-admin.integration.test.ts:66)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:66` calls `GET /api/site/licensing/pairings/ABC-123` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/pairings/abc-123`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8142865c8642d18c", "name": "Dangling fetch: POST /api/site/licensing/refresh-runs (server/http/site/licensing-admin.integration.test.ts:72)", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/refresh-runs (server/http/site/licensing-admin.integration.test.ts:72)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:72` calls `POST /api/site/licensing/refresh-runs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/refresh-runs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3f3cb1b0ffe43218", "name": "Dangling fetch: DELETE /api/site/licensing/binding (server/http/site/licensing-admin.integration.test.ts:78)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/licensing/binding (server/http/site/licensing-admin.integration.test.ts:78)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:78` calls `DELETE /api/site/licensing/binding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/binding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-94290aae44dd6e89", "name": "Dangling fetch: POST /api/site/licensing/pairings (server/http/site/licensing-admin.integration.test.ts:92)", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/pairings (server/http/site/licensing-admin.integration.test.ts:92)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:92` calls `POST /api/site/licensing/pairings` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/pairings`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ddd4c1590f2ad83b", "name": "Dangling fetch: POST /api/site/licensing/pairings (server/http/site/licensing-admin.integration.test.ts:122)", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/pairings (server/http/site/licensing-admin.integration.test.ts:122)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:122` calls `POST /api/site/licensing/pairings` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/pairings`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-76a4ec48d19f73ee", "name": "Dangling fetch: GET /api/site/licensing/pairings/ABC-123 (server/http/site/licensing-admin.integration.test.ts:157)", "shortDescription": {"text": "Dangling fetch: GET /api/site/licensing/pairings/ABC-123 (server/http/site/licensing-admin.integration.test.ts:157)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:157` calls `GET /api/site/licensing/pairings/ABC-123` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/pairings/abc-123`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2221027a54bbf755", "name": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:179)", "shortDescription": {"text": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:179)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:179` calls `GET /api/site/licensing/pairings/CODE-1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/pairings/code-1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e071eea37c700e79", "name": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:211)", "shortDescription": {"text": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:211)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:211` calls `GET /api/site/licensing/pairings/CODE-1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/pairings/code-1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1628bf2e9c38350e", "name": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:237)", "shortDescription": {"text": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:237)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:237` calls `GET /api/site/licensing/pairings/CODE-1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/pairings/code-1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-11c2d861307ec51b", "name": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:255)", "shortDescription": {"text": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:255)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:255` calls `GET /api/site/licensing/pairings/CODE-1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/pairings/code-1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6bb53beb7f0784f8", "name": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:275)", "shortDescription": {"text": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:275)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:275` calls `GET /api/site/licensing/pairings/CODE-1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/pairings/code-1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d2edb801dc4bc91b", "name": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:310)", "shortDescription": {"text": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:310)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:310` calls `GET /api/site/licensing/pairings/CODE-1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/pairings/code-1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5b4eb72993597a21", "name": "Dangling fetch: POST /api/site/licensing/refresh-runs (server/http/site/licensing-admin.integration.test.ts:354)", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/refresh-runs (server/http/site/licensing-admin.integration.test.ts:354)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:354` calls `POST /api/site/licensing/refresh-runs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/refresh-runs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-58e80c3d9c846a51", "name": "Dangling fetch: POST /api/site/licensing/refresh-runs (server/http/site/licensing-admin.integration.test.ts:366)", "shortDescription": {"text": "Dangling fetch: POST /api/site/licensing/refresh-runs (server/http/site/licensing-admin.integration.test.ts:366)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:366` calls `POST /api/site/licensing/refresh-runs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/refresh-runs`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4e41ed91f3ca8142", "name": "Dangling fetch: DELETE /api/site/licensing/binding (server/http/site/licensing-admin.integration.test.ts:391)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/licensing/binding (server/http/site/licensing-admin.integration.test.ts:391)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:391` calls `DELETE /api/site/licensing/binding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/binding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1f0f6f2917cd63e0", "name": "Dangling fetch: DELETE /api/site/licensing/binding (server/http/site/licensing-admin.integration.test.ts:413)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/licensing/binding (server/http/site/licensing-admin.integration.test.ts:413)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:413` calls `DELETE /api/site/licensing/binding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/binding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0d36f47810c2d972", "name": "Dangling fetch: DELETE /api/site/licensing/binding (server/http/site/licensing-admin.integration.test.ts:428)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/licensing/binding (server/http/site/licensing-admin.integration.test.ts:428)"}, "fullDescription": {"text": "`server/http/site/licensing-admin.integration.test.ts:428` calls `DELETE /api/site/licensing/binding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/licensing/binding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-189665c7a0dff204", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/site/storages.cf-test.ts:19)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/site/storages.cf-test.ts:19)"}, "fullDescription": {"text": "`server/http/site/storages.cf-test.ts:19` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0573a73fb8d6ee47", "name": "Dangling fetch: GET /api/site/storages (server/http/site/storages.cf-test.ts:49)", "shortDescription": {"text": "Dangling fetch: GET /api/site/storages (server/http/site/storages.cf-test.ts:49)"}, "fullDescription": {"text": "`server/http/site/storages.cf-test.ts:49` calls `GET /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c17706676ac683b3", "name": "Dangling fetch: GET /api/site/storages (server/http/site/storages.cf-test.ts:56)", "shortDescription": {"text": "Dangling fetch: GET /api/site/storages (server/http/site/storages.cf-test.ts:56)"}, "fullDescription": {"text": "`server/http/site/storages.cf-test.ts:56` calls `GET /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5e0462c92364ad88", "name": "Dangling fetch: POST /api/site/storages (server/http/site/storages.cf-test.ts:65)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.cf-test.ts:65)"}, "fullDescription": {"text": "`server/http/site/storages.cf-test.ts:65` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-654750d923943193", "name": "Dangling fetch: POST /api/site/storages (server/http/site/storages.cf-test.ts:92)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.cf-test.ts:92)"}, "fullDescription": {"text": "`server/http/site/storages.cf-test.ts:92` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d9ce305c3d4ccac9", "name": "Dangling fetch: GET /api/site/storages/${created.id} (server/http/site/storages.cf-test.ts:124)", "shortDescription": {"text": "Dangling fetch: GET /api/site/storages/${created.id} (server/http/site/storages.cf-test.ts:124)"}, "fullDescription": {"text": "`server/http/site/storages.cf-test.ts:124` calls `GET /api/site/storages/${created.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c386e72026eea0a3", "name": "Dangling fetch: PUT /api/site/storages/${created.id} (server/http/site/storages.cf-test.ts:140)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/storages/${created.id} (server/http/site/storages.cf-test.ts:140)"}, "fullDescription": {"text": "`server/http/site/storages.cf-test.ts:140` calls `PUT /api/site/storages/${created.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-075e19e5d0685f7f", "name": "Dangling fetch: DELETE /api/site/storages/${created.id} (server/http/site/storages.cf-test.ts:160)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/storages/${created.id} (server/http/site/storages.cf-test.ts:160)"}, "fullDescription": {"text": "`server/http/site/storages.cf-test.ts:160` calls `DELETE /api/site/storages/${created.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0fa4e5ea576bb5d6", "name": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:32)", "shortDescription": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:32)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:32` calls `GET /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fb18e652bd2493dc", "name": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:51)", "shortDescription": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:51)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:51` calls `GET /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-27174caffbc6f58e", "name": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:60)", "shortDescription": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:60)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:60` calls `GET /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ff9dd339a74b3fe", "name": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:72)", "shortDescription": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:72)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:72` calls `GET /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-47ff4fe6d4aa7105", "name": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:92)", "shortDescription": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:92)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:92` calls `GET /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fa12f1860039f5d8", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:123)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:123)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:123` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b19007760d850a95", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:132)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:132)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:132` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-69e0080668325a54", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:139)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:139)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:139` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b223ca0889572012", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:149)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:149)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:149` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ff5c5d88cf7ceb95", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:164)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:164)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:164` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0f3c094d099c528c", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:177)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:177)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:177` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bfe340c1b57b5691", "name": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:184)", "shortDescription": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:184)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:184` calls `GET /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-440708cf26cea82b", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:199)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:199)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:199` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a24a4fc9baf38172", "name": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:204)", "shortDescription": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:204)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:204` calls `GET /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cf5b64203aa7fdf1", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:222)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:222)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:222` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-af4f6f630736d702", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:249)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:249)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:249` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0c56304016d2b03c", "name": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:252)", "shortDescription": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:252)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:252` calls `GET /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c87901f7a2656cbb", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:266)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:266)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:266` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-051dfffd7249493f", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:280)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:280)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:280` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e4a52103113b8268", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:297)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:297)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:297` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-63335aed95a9118b", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:313)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:313)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:313` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a87ae82e2f0b7544", "name": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:327)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:327)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:327` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9960bc84a53cffcb", "name": "Dangling fetch: DELETE /api/site/branding/logo (server/http/site/branding.integration.test.ts:337)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/branding/logo (server/http/site/branding.integration.test.ts:337)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:337` calls `DELETE /api/site/branding/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-36a32d18096e3e9b", "name": "Dangling fetch: DELETE /api/site/branding/logo (server/http/site/branding.integration.test.ts:344)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/branding/logo (server/http/site/branding.integration.test.ts:344)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:344` calls `DELETE /api/site/branding/logo` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding/logo`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c4a45b944515c986", "name": "Dangling fetch: DELETE /api/site/branding/wordmark_text (server/http/site/branding.integration.test.ts:354)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/branding/wordmark_text (server/http/site/branding.integration.test.ts:354)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:354` calls `DELETE /api/site/branding/wordmark_text` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding/wordmark_text`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3b0ce858dc9634a3", "name": "Dangling fetch: DELETE /api/site/branding/theme (server/http/site/branding.integration.test.ts:373)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/branding/theme (server/http/site/branding.integration.test.ts:373)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:373` calls `DELETE /api/site/branding/theme` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding/theme`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d5846fd75614e19a", "name": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:375)", "shortDescription": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:375)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:375` calls `GET /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0c656c1711544a56", "name": "Dangling fetch: DELETE /api/site/branding/theme_preset (server/http/site/branding.integration.test.ts:392)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/branding/theme_preset (server/http/site/branding.integration.test.ts:392)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:392` calls `DELETE /api/site/branding/theme_preset` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding/theme_preset`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-096c7ae13e26d588", "name": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:394)", "shortDescription": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:394)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:394` calls `GET /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e5a33976b2218148", "name": "Dangling fetch: DELETE /api/site/branding/invalid_field (server/http/site/branding.integration.test.ts:404)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/branding/invalid_field (server/http/site/branding.integration.test.ts:404)"}, "fullDescription": {"text": "`server/http/site/branding.integration.test.ts:404` calls `DELETE /api/site/branding/invalid_field` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/branding/invalid_field`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae289d4e05646106", "name": "Dangling fetch: GET /api/site/storages (server/http/site/storages.integration.test.ts:20)", "shortDescription": {"text": "Dangling fetch: GET /api/site/storages (server/http/site/storages.integration.test.ts:20)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:20` calls `GET /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0528aa8e2bfd6453", "name": "Dangling fetch: GET /api/site/storages (server/http/site/storages.integration.test.ts:36)", "shortDescription": {"text": "Dangling fetch: GET /api/site/storages (server/http/site/storages.integration.test.ts:36)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:36` calls `GET /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fe40df968dea63ca", "name": "Dangling fetch: GET /api/site/storages (server/http/site/storages.integration.test.ts:43)", "shortDescription": {"text": "Dangling fetch: GET /api/site/storages (server/http/site/storages.integration.test.ts:43)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:43` calls `GET /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7e5681860571ae14", "name": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:52)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:52)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:52` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2b2360ea487c8904", "name": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:73)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:73)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:73` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b8d98db41d002b09", "name": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:81)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:81)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:81` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-807e33f8a8ceed1a", "name": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:98)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:98)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:98` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3a85906e8d7bcf0a", "name": "Dangling fetch: GET /api/site/storages (server/http/site/storages.integration.test.ts:104)", "shortDescription": {"text": "Dangling fetch: GET /api/site/storages (server/http/site/storages.integration.test.ts:104)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:104` calls `GET /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ef7cc80d5c160372", "name": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:116)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:116)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:116` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-66372eaadd5858b6", "name": "Dangling fetch: GET /api/site/storages/${created.id} (server/http/site/storages.integration.test.ts:123)", "shortDescription": {"text": "Dangling fetch: GET /api/site/storages/${created.id} (server/http/site/storages.integration.test.ts:123)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:123` calls `GET /api/site/storages/${created.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2de9fcff378b74f1", "name": "Dangling fetch: GET /api/site/storages/nonexistent (server/http/site/storages.integration.test.ts:133)", "shortDescription": {"text": "Dangling fetch: GET /api/site/storages/nonexistent (server/http/site/storages.integration.test.ts:133)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:133` calls `GET /api/site/storages/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-340ea9a40799e4e9", "name": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:141)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:141)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:141` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-934baf8e8bdafdcc", "name": "Dangling fetch: PUT /api/site/storages/${created.id} (server/http/site/storages.integration.test.ts:148)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/storages/${created.id} (server/http/site/storages.integration.test.ts:148)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:148` calls `PUT /api/site/storages/${created.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-37cefc9e68c02de2", "name": "Dangling fetch: PUT /api/site/storages/nonexistent (server/http/site/storages.integration.test.ts:162)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/storages/nonexistent (server/http/site/storages.integration.test.ts:162)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:162` calls `PUT /api/site/storages/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b05c1a3ff022b9ec", "name": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:174)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:174)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:174` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-14f105c50b856e8e", "name": "Dangling fetch: DELETE /api/site/storages/${created.id} (server/http/site/storages.integration.test.ts:181)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/storages/${created.id} (server/http/site/storages.integration.test.ts:181)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:181` calls `DELETE /api/site/storages/${created.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d4256ca53b31d020", "name": "Dangling fetch: DELETE /api/site/storages/nonexistent (server/http/site/storages.integration.test.ts:193)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/storages/nonexistent (server/http/site/storages.integration.test.ts:193)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:193` calls `DELETE /api/site/storages/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2568cfb441913da2", "name": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:204)", "shortDescription": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:204)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:204` calls `POST /api/site/storages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fe3bb8c2fa7e4448", "name": "Dangling fetch: DELETE /api/site/storages/${created.id} (server/http/site/storages.integration.test.ts:217)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/storages/${created.id} (server/http/site/storages.integration.test.ts:217)"}, "fullDescription": {"text": "`server/http/site/storages.integration.test.ts:217` calls `DELETE /api/site/storages/${created.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/storages/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4b65b2f7d8c7d10c", "name": "Dangling fetch: GET /api/site/invitations (server/http/site/invitations.integration.test.ts:26)", "shortDescription": {"text": "Dangling fetch: GET /api/site/invitations (server/http/site/invitations.integration.test.ts:26)"}, "fullDescription": {"text": "`server/http/site/invitations.integration.test.ts:26` calls `GET /api/site/invitations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invitations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0cc3acb5d567b127", "name": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:35)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:35)"}, "fullDescription": {"text": "`server/http/site/invitations.integration.test.ts:35` calls `POST /api/site/invitations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invitations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c7fe40ab4920fba1", "name": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:66)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:66)"}, "fullDescription": {"text": "`server/http/site/invitations.integration.test.ts:66` calls `POST /api/site/invitations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invitations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-072ea3d61ba41b46", "name": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:85)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:85)"}, "fullDescription": {"text": "`server/http/site/invitations.integration.test.ts:85` calls `POST /api/site/invitations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invitations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-af643567a92d76ee", "name": "Dangling fetch: GET /api/site/invitations (server/http/site/invitations.integration.test.ts:91)", "shortDescription": {"text": "Dangling fetch: GET /api/site/invitations (server/http/site/invitations.integration.test.ts:91)"}, "fullDescription": {"text": "`server/http/site/invitations.integration.test.ts:91` calls `GET /api/site/invitations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invitations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fa9efa517e268b15", "name": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:104)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:104)"}, "fullDescription": {"text": "`server/http/site/invitations.integration.test.ts:104` calls `POST /api/site/invitations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invitations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-25876dfe0ad158a7", "name": "Dangling fetch: POST /api/site/invitations/${created.id}/deliveries (server/http/site/invitations.integration.test.ts:11", "shortDescription": {"text": "Dangling fetch: POST /api/site/invitations/${created.id}/deliveries (server/http/site/invitations.integration.test.ts:111)"}, "fullDescription": {"text": "`server/http/site/invitations.integration.test.ts:111` calls `POST /api/site/invitations/${created.id}/deliveries` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invitations/<p>/deliveries`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-955036182d05bd31", "name": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:127)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:127)"}, "fullDescription": {"text": "`server/http/site/invitations.integration.test.ts:127` calls `POST /api/site/invitations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invitations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae83389b774400cf", "name": "Dangling fetch: DELETE /api/site/invitations/${created.id} (server/http/site/invitations.integration.test.ts:134)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/invitations/${created.id} (server/http/site/invitations.integration.test.ts:134)"}, "fullDescription": {"text": "`server/http/site/invitations.integration.test.ts:134` calls `DELETE /api/site/invitations/${created.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invitations/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7db9e88ef23e8b27", "name": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:150)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:150)"}, "fullDescription": {"text": "`server/http/site/invitations.integration.test.ts:150` calls `POST /api/site/invitations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invitations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8fd41be7e6bab803", "name": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:156)", "shortDescription": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:156)"}, "fullDescription": {"text": "`server/http/site/invitations.integration.test.ts:156` calls `POST /api/site/invitations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invitations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a3bac8f46081a859", "name": "Dangling fetch: GET /api/site/invitations/${invitation.token} (server/http/site/invitations.integration.test.ts:192)", "shortDescription": {"text": "Dangling fetch: GET /api/site/invitations/${invitation.token} (server/http/site/invitations.integration.test.ts:192)"}, "fullDescription": {"text": "`server/http/site/invitations.integration.test.ts:192` calls `GET /api/site/invitations/${invitation.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/invitations/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7eb469450b4b6908", "name": "Dangling fetch: GET /api/objects/m-cloud-report-ok (server/http/store/traffic-metering.integration.test.ts:112)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/m-cloud-report-ok (server/http/store/traffic-metering.integration.test.ts:112)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:112` calls `GET /api/objects/m-cloud-report-ok` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-cloud-report-ok`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7eda87bf9128f8fa", "name": "Dangling fetch: GET /api/objects/m-cloud-report-blocked (server/http/store/traffic-metering.integration.test.ts:134)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/m-cloud-report-blocked (server/http/store/traffic-metering.integration.test.ts:134)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:134` calls `GET /api/objects/m-cloud-report-blocked` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-cloud-report-blocked`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ee855103fe823777", "name": "Dangling fetch: GET /api/objects/m-cloud-report-mismatch (server/http/store/traffic-metering.integration.test.ts:166)", "shortDescription": {"text": "Dangling fetch: GET /api/objects/m-cloud-report-mismatch (server/http/store/traffic-metering.integration.test.ts:166)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:166` calls `GET /api/objects/m-cloud-report-mismatch` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-cloud-report-mismatch`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-18dde5120e2f68eb", "name": "Dangling fetch: GET /api/objects/m-cloud-report-presign-fail (server/http/store/traffic-metering.integration.test.ts:188", "shortDescription": {"text": "Dangling fetch: GET /api/objects/m-cloud-report-presign-fail (server/http/store/traffic-metering.integration.test.ts:188)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:188` calls `GET /api/objects/m-cloud-report-presign-fail` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/objects/m-cloud-report-presign-fail`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f88a993f958a39e9", "name": "Dangling fetch: GET /r/${share.token} (server/http/store/traffic-metering.integration.test.ts:217)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/store/traffic-metering.integration.test.ts:217)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:217` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ee44211681f7c030", "name": "Dangling fetch: GET /r/${share.token} (server/http/store/traffic-metering.integration.test.ts:245)", "shortDescription": {"text": "Dangling fetch: GET /r/${share.token} (server/http/store/traffic-metering.integration.test.ts:245)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:245` calls `GET /r/${share.token}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8e6506a2097f2fce", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${ref}?downloadUrl=1 (server/http/store/traffic-metering.integrat", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${ref}?downloadUrl=1 (server/http/store/traffic-metering.integration.test.ts:284)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:284` calls `GET /api/shares/${share.token}/objects/${ref}?downloadUrl=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e89b2276c127f18f", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${ref}?downloadUrl=1 (server/http/store/traffic-metering.integrat", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${ref}?downloadUrl=1 (server/http/store/traffic-metering.integration.test.ts:313)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:313` calls `GET /api/shares/${share.token}/objects/${ref}?downloadUrl=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5bc9b29f9a11a1eb", "name": "Dangling fetch: GET /api/shares/${share.token}/objects/${ref}?downloadUrl=1 (server/http/store/traffic-metering.integrat", "shortDescription": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${ref}?downloadUrl=1 (server/http/store/traffic-metering.integration.test.ts:354)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:354` calls `GET /api/shares/${share.token}/objects/${ref}?downloadUrl=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5a69c7a794418946", "name": "Dangling fetch: GET /r/ih_cloudtoken (server/http/store/traffic-metering.integration.test.ts:370)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_cloudtoken (server/http/store/traffic-metering.integration.test.ts:370)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:370` calls `GET /r/ih_cloudtoken` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_cloudtoken`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a51b18fdb330ea83", "name": "Dangling fetch: GET /r/ih_cloudlogfail (server/http/store/traffic-metering.integration.test.ts:390)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_cloudlogfail (server/http/store/traffic-metering.integration.test.ts:390)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:390` calls `GET /r/ih_cloudlogfail` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_cloudlogfail`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d4c67dd79d074e7d", "name": "Dangling fetch: GET /r/ih_cloudpresignfail (server/http/store/traffic-metering.integration.test.ts:407)", "shortDescription": {"text": "Dangling fetch: GET /r/ih_cloudpresignfail (server/http/store/traffic-metering.integration.test.ts:407)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:407` calls `GET /r/ih_cloudpresignfail` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/r/ih_cloudpresignfail`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-37172880fa34167f", "name": "Dangling fetch: GET https://img.example.com/blog/domain.png (server/http/store/traffic-metering.integration.test.ts:424)", "shortDescription": {"text": "Dangling fetch: GET https://img.example.com/blog/domain.png (server/http/store/traffic-metering.integration.test.ts:424)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:424` calls `GET https://img.example.com/blog/domain.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/https:/img.example.com/blog/domain.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-37cde8ada7c67f35", "name": "Dangling fetch: GET https://img.example.com/blog/domain-log-fail.png (server/http/store/traffic-metering.integration.tes", "shortDescription": {"text": "Dangling fetch: GET https://img.example.com/blog/domain-log-fail.png (server/http/store/traffic-metering.integration.test.ts:447)"}, "fullDescription": {"text": "`server/http/store/traffic-metering.integration.test.ts:447` calls `GET https://img.example.com/blog/domain-log-fail.png` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/https:/img.example.com/blog/domain-log-fail.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e4e9df1b901de541", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:445)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:445)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:445` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4bb561a5b065ed34", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:472)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:472)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:472` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d4272c162ec36154", "name": "Dangling fetch: POST http://files.example.com/api/store/checkouts (server/http/store/store.integration.test.ts:499)", "shortDescription": {"text": "Dangling fetch: POST http://files.example.com/api/store/checkouts (server/http/store/store.integration.test.ts:499)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:499` calls `POST http://files.example.com/api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/http:/files.example.com/api/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-35f7e62a8b7b9ea5", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:521)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:521)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:521` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bc224d3264d82b50", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:547)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:547)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:547` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-37421a3d78edcaeb", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:569)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:569)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:569` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bfd083d4a44a5fca", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:591)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:591)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:591` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-325a18dc3b719860", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:606)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:606)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:606` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4fa307d4e3cb050b", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:621)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:621)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:621` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2f17169e8aa007f0", "name": "Dangling fetch: POST /api/store/billing-portal-sessions (server/http/store/store.integration.test.ts:639)", "shortDescription": {"text": "Dangling fetch: POST /api/store/billing-portal-sessions (server/http/store/store.integration.test.ts:639)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:639` calls `POST /api/store/billing-portal-sessions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/billing-portal-sessions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c74abd05f0fe89b4", "name": "Dangling fetch: GET /api/store/credits (server/http/store/store.integration.test.ts:642)", "shortDescription": {"text": "Dangling fetch: GET /api/store/credits (server/http/store/store.integration.test.ts:642)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:642` calls `GET /api/store/credits` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/credits`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-378762b1bbd9f34e", "name": "Dangling fetch: GET /api/store/credits/ledger-entries (server/http/store/store.integration.test.ts:645)", "shortDescription": {"text": "Dangling fetch: GET /api/store/credits/ledger-entries (server/http/store/store.integration.test.ts:645)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:645` calls `GET /api/store/credits/ledger-entries` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/credits/ledger-entries`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-50e34e907b7beb68", "name": "Dangling fetch: POST /api/store/credits/redemptions (server/http/store/store.integration.test.ts:648)", "shortDescription": {"text": "Dangling fetch: POST /api/store/credits/redemptions (server/http/store/store.integration.test.ts:648)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:648` calls `POST /api/store/credits/redemptions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/credits/redemptions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6319d519c0bed05b", "name": "Dangling fetch: GET /api/store/orders (server/http/store/store.integration.test.ts:655)", "shortDescription": {"text": "Dangling fetch: GET /api/store/orders (server/http/store/store.integration.test.ts:655)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:655` calls `GET /api/store/orders` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/orders`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b67163f31becd572", "name": "Dangling fetch: POST /api/store/billing-portal-sessions (server/http/store/store.integration.test.ts:669)", "shortDescription": {"text": "Dangling fetch: POST /api/store/billing-portal-sessions (server/http/store/store.integration.test.ts:669)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:669` calls `POST /api/store/billing-portal-sessions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/billing-portal-sessions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6028b94bcb2290b3", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:700)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:700)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:700` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1471b7772fe5a188", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:747)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:747)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:747` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-45dfb0cb27897834", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:764)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:764)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:764` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cc8b1f8b209edb84", "name": "Dangling fetch: POST /api/store/billing-portal-sessions (server/http/store/store.integration.test.ts:784)", "shortDescription": {"text": "Dangling fetch: POST /api/store/billing-portal-sessions (server/http/store/store.integration.test.ts:784)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:784` calls `POST /api/store/billing-portal-sessions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/billing-portal-sessions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2c400fd474d67f41", "name": "Dangling fetch: GET /api/store/packages (server/http/store/store.integration.test.ts:807)", "shortDescription": {"text": "Dangling fetch: GET /api/store/packages (server/http/store/store.integration.test.ts:807)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:807` calls `GET /api/store/packages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/packages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b6110e942bb646d2", "name": "Dangling fetch: GET /api/store/targets (server/http/store/store.integration.test.ts:808)", "shortDescription": {"text": "Dangling fetch: GET /api/store/targets (server/http/store/store.integration.test.ts:808)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:808` calls `GET /api/store/targets` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/targets`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae827f452f4b57dd", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:809)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:809)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:809` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-28594d119aa10e35", "name": "Dangling fetch: GET /api/store/orders (server/http/store/store.integration.test.ts:814)", "shortDescription": {"text": "Dangling fetch: GET /api/store/orders (server/http/store/store.integration.test.ts:814)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:814` calls `GET /api/store/orders` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/orders`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5e4afa0bfdd2acf5", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:882)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:882)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:882` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-291cdf848ee51af5", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:887)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:887)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:887` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8edaf3213474e430", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:917)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:917)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:917` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a8b79c8fbd5fc105", "name": "Dangling fetch: GET /api/store/credits (server/http/store/store.integration.test.ts:935)", "shortDescription": {"text": "Dangling fetch: GET /api/store/credits (server/http/store/store.integration.test.ts:935)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:935` calls `GET /api/store/credits` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/credits`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-aa4faa9755ef065d", "name": "Dangling fetch: POST /api/store/credits/redemptions (server/http/store/store.integration.test.ts:936)", "shortDescription": {"text": "Dangling fetch: POST /api/store/credits/redemptions (server/http/store/store.integration.test.ts:936)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:936` calls `POST /api/store/credits/redemptions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/credits/redemptions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cb15b2eaa3b93609", "name": "Dangling fetch: GET /api/store/credits/ledger-entries (server/http/store/store.integration.test.ts:971)", "shortDescription": {"text": "Dangling fetch: GET /api/store/credits/ledger-entries (server/http/store/store.integration.test.ts:971)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:971` calls `GET /api/store/credits/ledger-entries` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/credits/ledger-entries`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-72c91812082ae993", "name": "Dangling fetch: POST /api/store/orders/order-cloud-1/payments (server/http/store/store.integration.test.ts:1018)", "shortDescription": {"text": "Dangling fetch: POST /api/store/orders/order-cloud-1/payments (server/http/store/store.integration.test.ts:1018)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1018` calls `POST /api/store/orders/order-cloud-1/payments` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/orders/order-cloud-1/payments`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c8864abf391f4a23", "name": "Dangling fetch: PATCH /api/store/orders/order-cloud-1 (server/http/store/store.integration.test.ts:1027)", "shortDescription": {"text": "Dangling fetch: PATCH /api/store/orders/order-cloud-1 (server/http/store/store.integration.test.ts:1027)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1027` calls `PATCH /api/store/orders/order-cloud-1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/orders/order-cloud-1`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3ec3d3b8f39946b5", "name": "Dangling fetch: POST /api/store/orders/order-other-org/payments (server/http/store/store.integration.test.ts:1069)", "shortDescription": {"text": "Dangling fetch: POST /api/store/orders/order-other-org/payments (server/http/store/store.integration.test.ts:1069)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1069` calls `POST /api/store/orders/order-other-org/payments` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/orders/order-other-org/payments`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1344ad1c13ad4c4d", "name": "Dangling fetch: PATCH /api/store/orders/order-other-org (server/http/store/store.integration.test.ts:1073)", "shortDescription": {"text": "Dangling fetch: PATCH /api/store/orders/order-other-org (server/http/store/store.integration.test.ts:1073)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1073` calls `PATCH /api/store/orders/order-other-org` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/orders/order-other-org`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3a2c1db398e532b9", "name": "Dangling fetch: GET /api/store/packages (server/http/store/store.integration.test.ts:1097)", "shortDescription": {"text": "Dangling fetch: GET /api/store/packages (server/http/store/store.integration.test.ts:1097)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1097` calls `GET /api/store/packages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/packages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-de9d6a0d5d0e26d5", "name": "Dangling fetch: GET /api/store/targets (server/http/store/store.integration.test.ts:1098)", "shortDescription": {"text": "Dangling fetch: GET /api/store/targets (server/http/store/store.integration.test.ts:1098)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1098` calls `GET /api/store/targets` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/targets`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-da2025797bb2185d", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:1099)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:1099)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1099` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d9f33efadb46b618", "name": "Dangling fetch: GET /api/store/orders (server/http/store/store.integration.test.ts:1104)", "shortDescription": {"text": "Dangling fetch: GET /api/store/orders (server/http/store/store.integration.test.ts:1104)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1104` calls `GET /api/store/orders` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/orders`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fbef0c522ca0963d", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:1123)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:1123)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1123` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1fb9073a30d1336d", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:1144)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:1144)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1144` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eba8fca6235c9972", "name": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:1165)", "shortDescription": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:1165)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1165` calls `POST /api/store/checkouts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/checkouts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e45ea1f9a35f0f6e", "name": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:1215)", "shortDescription": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:1215)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1215` calls `POST /api/store/webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/webhook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0b94e70126ef7666", "name": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1258)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1258)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1258` calls `GET /api/quotas/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dd74c75d77b31f09", "name": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1350)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1350)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1350` calls `GET /api/quotas/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9fef84e43ecc69cc", "name": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1428)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1428)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1428` calls `GET /api/quotas/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a8c81e67c1784849", "name": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1491)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1491)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1491` calls `GET /api/quotas/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-52c566c8463ffd12", "name": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1548)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1548)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1548` calls `GET /api/quotas/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-06cb0f8a31960582", "name": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1605)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1605)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1605` calls `GET /api/quotas/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f8979599398ee16a", "name": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1700)", "shortDescription": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1700)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:1700` calls `GET /api/quotas/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/quotas/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7f1da06341294d1d", "name": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2025)", "shortDescription": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2025)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:2025` calls `POST /api/store/webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/webhook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-63b04efa9bbbeee1", "name": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2041)", "shortDescription": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2041)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:2041` calls `POST /api/store/webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/webhook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3f7ed72fa0c43d32", "name": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2058)", "shortDescription": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2058)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:2058` calls `POST /api/store/webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/webhook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f29c861be2df8c0a", "name": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2076)", "shortDescription": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2076)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:2076` calls `POST /api/store/webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/webhook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-339efe8994edb044", "name": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2093)", "shortDescription": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2093)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:2093` calls `POST /api/store/webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/webhook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-59a74642b44c5a5e", "name": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2111)", "shortDescription": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2111)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:2111` calls `POST /api/store/webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/webhook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-961b16693b23cb39", "name": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2129)", "shortDescription": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2129)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:2129` calls `POST /api/store/webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/webhook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2fbd830bc70f7a97", "name": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2146)", "shortDescription": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2146)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:2146` calls `POST /api/store/webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/webhook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3bd44895fd42b3e6", "name": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2172)", "shortDescription": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2172)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:2172` calls `POST /api/store/webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/webhook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1afc0c3b37be299d", "name": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2189)", "shortDescription": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2189)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:2189` calls `POST /api/store/webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/webhook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e565456000935de8", "name": "Dangling fetch: POST /api/auth/organization/set-active (server/http/store/store.integration.test.ts:2288)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/set-active (server/http/store/store.integration.test.ts:2288)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:2288` calls `POST /api/auth/organization/set-active` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/set-active`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0569df3593f02fee", "name": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2334)", "shortDescription": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2334)"}, "fullDescription": {"text": "`server/http/store/store.integration.test.ts:2334` calls `POST /api/store/webhook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/store/webhook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4a7ba74b96c6cc6d", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:137)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:137)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:137` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e97ec5d37e0e9839", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:150)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:150)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:150` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d816e3c139989ba7", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:165)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:165)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:165` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7bd75888bb5f45b5", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:183)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:183)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:183` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fe11abc06bfc4a66", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:203)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:203)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:203` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2c01fdaa79bcbe0b", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:218)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:218)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:218` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e0a86818c8260399", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:234)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:234)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:234` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e301c1a5a5be8f19", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:251)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:251)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:251` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f5a39ab0a5cda0c7", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:264)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:264)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:264` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a48fe51cdaf38d5b", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:281)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:281)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:281` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2d4086169f1f3882", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:298)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:298)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:298` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-aefaf08467b67832", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:319)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:319)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:319` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-15cbd71119b481e2", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:336)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:336)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:336` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-75f75f8db0d08037", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:355)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:355)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:355` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d80581d0b03d003c", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:371)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:371)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:371` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-82ae69df1e65249a", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:386)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:386)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:386` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8af6e95216d071e0", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:401)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:401)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:401` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6fa797c587c4d25f", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:409)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:409)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:409` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fe7320af460c88b3", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:427)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:427)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:427` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1afa90da6a53ce1f", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:442)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:442)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:442` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fd5c1b0f0b43c2fd", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:464)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:464)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:464` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f68437000dfa64ec", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:486)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:486)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:486` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1923e06cbd597c49", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:508)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:508)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:508` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-173a605617185220", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:530)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:530)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:530` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-89475cf35fd85131", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:553)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:553)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:553` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-59926b95ccf65758", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:578)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:578)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:578` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1ca0f8d905d6926e", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:606)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:606)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:606` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0f3004149f60b8c8", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:628)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:628)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:628` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1497a17e0c54df21", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:647)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:647)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:647` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-16ff2c4778a3b837", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:667)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:667)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:667` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-98c96d2cee141931", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:693)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:693)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:693` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c3c9019c6e30b3a0", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:713)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:713)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:713` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-91386f7eadc12f1f", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:739)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:739)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:739` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-920aab7cfc0b7503", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:772)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:772)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:772` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f97c24922992fea0", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:790)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:790)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:790` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-831f557b47fc8a0b", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:811)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:811)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:811` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-588c79644679feb5", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:831)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:831)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:831` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dd8fbae0ad792db6", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:849)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:849)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:849` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-97a93249e9f0ff18", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:872)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:872)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:872` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f2c709cca045e3dd", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:896)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:896)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:896` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f5ecf1b9d9000746", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:923)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:923)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:923` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0f2b4e066f1c5de9", "name": "Dangling fetch: PUT /api/image-hosting/images/${id}/status (server/http/image-hosting/images.integration.test.ts:930)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/images/${id}/status (server/http/image-hosting/images.integration.test.ts:930)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:930` calls `PUT /api/image-hosting/images/${id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-74f1b6863de83f5d", "name": "Dangling fetch: PUT /api/image-hosting/images/${id}/status (server/http/image-hosting/images.integration.test.ts:948)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/images/${id}/status (server/http/image-hosting/images.integration.test.ts:948)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:948` calls `PUT /api/image-hosting/images/${id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9b8dec65abf39687", "name": "Dangling fetch: PUT /api/image-hosting/images/nonexistent/status (server/http/image-hosting/images.integration.test.ts:9", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/images/nonexistent/status (server/http/image-hosting/images.integration.test.ts:962)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:962` calls `PUT /api/image-hosting/images/nonexistent/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/nonexistent/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2fb70aba538191a3", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:979)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:979)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:979` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dc23087274984aa7", "name": "Dangling fetch: PUT /api/image-hosting/images/${id}/status (server/http/image-hosting/images.integration.test.ts:988)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/images/${id}/status (server/http/image-hosting/images.integration.test.ts:988)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:988` calls `PUT /api/image-hosting/images/${id}/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/<p>/status`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-13fbc300921467d0", "name": "Dangling fetch: GET /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1003)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1003)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1003` calls `GET /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f77f9abffd8f02f5", "name": "Dangling fetch: GET /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1014)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1014)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1014` calls `GET /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-87a2a01e05f56f31", "name": "Dangling fetch: GET /api/image-hosting/images?pathPrefix=blog/2026/ (server/http/image-hosting/images.integration.test.t", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/images?pathPrefix=blog/2026/ (server/http/image-hosting/images.integration.test.ts:1032)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1032` calls `GET /api/image-hosting/images?pathPrefix=blog/2026/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-27d275a99f9b145b", "name": "Dangling fetch: GET /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1051)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1051)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1051` calls `GET /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2978ad18381e200b", "name": "Dangling fetch: GET /api/image-hosting/images?limit=2 (server/http/image-hosting/images.integration.test.ts:1070)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/images?limit=2 (server/http/image-hosting/images.integration.test.ts:1070)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1070` calls `GET /api/image-hosting/images?limit=2` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d070bac20caa98e7", "name": "Dangling fetch: GET /api/image-hosting/images?limit=2&cursor=${body1.nextCursor} (server/http/image-hosting/images.integ", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/images?limit=2&cursor=${body1.nextCursor} (server/http/image-hosting/images.integration.test.ts:1076)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1076` calls `GET /api/image-hosting/images?limit=2&cursor=${body1.nextCursor}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3570c368d5d01957", "name": "Dangling fetch: GET /api/image-hosting/images/cross-org-img (server/http/image-hosting/images.integration.test.ts:1104)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/images/cross-org-img (server/http/image-hosting/images.integration.test.ts:1104)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1104` calls `GET /api/image-hosting/images/cross-org-img` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/cross-org-img`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6d2abb18c1a87473", "name": "Dangling fetch: GET /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1117)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1117)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1117` calls `GET /api/image-hosting/images/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2bd0e58abba7737c", "name": "Dangling fetch: DELETE /api/image-hosting/images/fake-id (server/http/image-hosting/images.integration.test.ts:1133)", "shortDescription": {"text": "Dangling fetch: DELETE /api/image-hosting/images/fake-id (server/http/image-hosting/images.integration.test.ts:1133)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1133` calls `DELETE /api/image-hosting/images/fake-id` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/fake-id`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d446221a88e93dee", "name": "Dangling fetch: DELETE /api/image-hosting/images/nonexistent (server/http/image-hosting/images.integration.test.ts:1149)", "shortDescription": {"text": "Dangling fetch: DELETE /api/image-hosting/images/nonexistent (server/http/image-hosting/images.integration.test.ts:1149)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1149` calls `DELETE /api/image-hosting/images/nonexistent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/nonexistent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-83075514715e969b", "name": "Dangling fetch: DELETE /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1165)", "shortDescription": {"text": "Dangling fetch: DELETE /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1165)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1165` calls `DELETE /api/image-hosting/images/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-aa0dda4f239e830d", "name": "Dangling fetch: GET /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1174)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1174)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1174` calls `GET /api/image-hosting/images/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9991a7e7ad37aaf7", "name": "Dangling fetch: DELETE /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1191)", "shortDescription": {"text": "Dangling fetch: DELETE /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1191)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1191` calls `DELETE /api/image-hosting/images/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d0afb77579a13783", "name": "Dangling fetch: GET /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1201)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1201)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1201` calls `GET /api/image-hosting/images/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-307223d887f8fed2", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1229)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1229)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1229` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-904b6537480ed5a1", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1254)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1254)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1254` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-73e3a3763e2a5389", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1277)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1277)"}, "fullDescription": {"text": "`server/http/image-hosting/images.integration.test.ts:1277` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d7cfb09a75c3e4dd", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/image-hosting/images.cf-test.ts:15)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/image-hosting/images.cf-test.ts:15)"}, "fullDescription": {"text": "`server/http/image-hosting/images.cf-test.ts:15` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-496ef6775700b71c", "name": "Dangling fetch: GET /api/image-hosting/images (server/http/image-hosting/images.cf-test.ts:27)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/images (server/http/image-hosting/images.cf-test.ts:27)"}, "fullDescription": {"text": "`server/http/image-hosting/images.cf-test.ts:27` calls `GET /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ebb01446a66d1392", "name": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.cf-test.ts:34)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.cf-test.ts:34)"}, "fullDescription": {"text": "`server/http/image-hosting/images.cf-test.ts:34` calls `POST /api/image-hosting/images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e1ef820294a85875", "name": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.cf-test.ts:45)", "shortDescription": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.cf-test.ts:45)"}, "fullDescription": {"text": "`server/http/image-hosting/images.cf-test.ts:45` calls `POST /api/image-hosting/images/presign` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/presign`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3cd7b13a2fe0758f", "name": "Dangling fetch: GET /api/image-hosting/images/some-id (server/http/image-hosting/images.cf-test.ts:56)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/images/some-id (server/http/image-hosting/images.cf-test.ts:56)"}, "fullDescription": {"text": "`server/http/image-hosting/images.cf-test.ts:56` calls `GET /api/image-hosting/images/some-id` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/images/some-id`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b0aa8af84bae4183", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/http/image-hosting/config.integration.test.ts:17)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/image-hosting/config.integration.test.ts:17)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:17` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e3a88d2b3de75e24", "name": "Dangling fetch: POST /api/auth/organization/set-active (server/http/image-hosting/config.integration.test.ts:49)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/organization/set-active (server/http/image-hosting/config.integration.test.ts:49)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:49` calls `POST /api/auth/organization/set-active` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/organization/set-active`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cf65a603fe319dc6", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:106)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:106)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:106` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-737ce87af8085cdb", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:114)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:114)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:114` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a775d3c1c8cb1749", "name": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:126)", "shortDescription": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:126)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:126` calls `DELETE /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6cd7bec20d33a470", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:141)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:141)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:141` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8cc6433dddbf02a9", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:152)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:152)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:152` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3ef59a9f7707f2f2", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:163)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:163)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:163` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b535f3d7dd27fac7", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:178)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:178)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:178` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-828d0b253e1a6aa2", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:193)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:193)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:193` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-036283bb6403c49b", "name": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:208)", "shortDescription": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:208)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:208` calls `DELETE /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b406c75c828c8bef", "name": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:222)", "shortDescription": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:222)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:222` calls `DELETE /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-523c965b54b5e854", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:240)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:240)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:240` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a540a82436c74248", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:255)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:255)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:255` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-432789ef3a2fc534", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:275)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:275)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:275` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-082d2270e1b8f437", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:293)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:293)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:293` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1d57f81942ab6fc3", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:315)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:315)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:315` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6f9f0ff7cb3d3c15", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:350)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:350)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:350` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3e48a4a0594d3662", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:385)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:385)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:385` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-af818cd3fa84b1fa", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:411)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:411)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:411` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-be3442f9416dc48e", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:427)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:427)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:427` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eb6f901096f309d4", "name": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:442)", "shortDescription": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:442)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:442` calls `GET /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ce1c43c5825c11a4", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:464)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:464)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:464` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-848383419abde48b", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:485)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:485)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:485` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-740b502c5d69f3a9", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:513)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:513)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:513` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bb88e6f58f214014", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:547)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:547)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:547` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6b7add895531f674", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:577)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:577)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:577` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0584cbcef2d4e665", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:592)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:592)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:592` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d7d19bc858d181e1", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:613)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:613)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:613` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-11ef6112a0e698f6", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:628)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:628)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:628` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7461b8cd7a052eb9", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:643)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:643)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:643` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9eb03288c33e5482", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:658)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:658)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:658` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-74680da83ad934ce", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:680)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:680)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:680` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1bdbb4f175ebefc3", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:697)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:697)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:697` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1b71daec8a34eb5e", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:703)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:703)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:703` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3a0aea8da8a0873c", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:722)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:722)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:722` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-efd75383ef88c796", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:753)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:753)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:753` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2f66d6da089b7ebb", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:775)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:775)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:775` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c2769b47a4e1d17c", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:807)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:807)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:807` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1b782574286052d3", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:844)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:844)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:844` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4f2d1c3256125065", "name": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:873)", "shortDescription": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:873)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:873` calls `PUT /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e78ceabe0166d73c", "name": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:899)", "shortDescription": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:899)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:899` calls `DELETE /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c5dfcaa3f8f4a9ee", "name": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:916)", "shortDescription": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:916)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:916` calls `DELETE /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d0f7bb4670b08fb5", "name": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:938)", "shortDescription": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:938)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:938` calls `DELETE /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-105af88d93d1f8db", "name": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:969)", "shortDescription": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:969)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:969` calls `DELETE /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8958ad0aa962236e", "name": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:1016)", "shortDescription": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:1016)"}, "fullDescription": {"text": "`server/http/image-hosting/config.integration.test.ts:1016` calls `DELETE /api/image-hosting/config` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/image-hosting/config`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4c78648b82dfda90", "name": "Dangling fetch: GET /api/auth/get-session (server/usecases/object.integration.test.ts:552)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/get-session (server/usecases/object.integration.test.ts:552)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:552` calls `GET /api/auth/get-session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/get-session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2f290b983f326052", "name": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:566)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:566)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:566` calls `POST /api/shares/${share.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-37a1fdaf962dad24", "name": "Dangling fetch: POST /api/shares/nonexistent-tok/objects (server/usecases/object.integration.test.ts:576)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/nonexistent-tok/objects (server/usecases/object.integration.test.ts:576)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:576` calls `POST /api/shares/nonexistent-tok/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/nonexistent-tok/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c0324e605dc932d0", "name": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:588)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:588)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:588` calls `POST /api/shares/${share.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-562d004591ab4e05", "name": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:600)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:600)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:600` calls `POST /api/shares/${share.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-523cb45ba81d7a95", "name": "Dangling fetch: POST /api/shares/${directShare.token}/objects (server/usecases/object.integration.test.ts:614)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${directShare.token}/objects (server/usecases/object.integration.test.ts:614)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:614` calls `POST /api/shares/${directShare.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b994f418cb000809", "name": "Dangling fetch: POST /api/shares/${pwShare.token}/objects (server/usecases/object.integration.test.ts:636)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${pwShare.token}/objects (server/usecases/object.integration.test.ts:636)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:636` calls `POST /api/shares/${pwShare.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4d8e7762f6524855", "name": "Dangling fetch: GET /api/auth/get-session (server/usecases/object.integration.test.ts:648)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/get-session (server/usecases/object.integration.test.ts:648)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:648` calls `GET /api/auth/get-session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/get-session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5eb0e2b78e7ccdbf", "name": "Dangling fetch: POST /api/shares/${pwShare.token}/objects (server/usecases/object.integration.test.ts:663)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${pwShare.token}/objects (server/usecases/object.integration.test.ts:663)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:663` calls `POST /api/shares/${pwShare.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b120e3b9c2ce5839", "name": "Dangling fetch: GET /api/auth/get-session (server/usecases/object.integration.test.ts:681)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/get-session (server/usecases/object.integration.test.ts:681)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:681` calls `GET /api/auth/get-session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/get-session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-615a35ab4718bf05", "name": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:690)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:690)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:690` calls `POST /api/shares/${share.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7f347831ca70443f", "name": "Dangling fetch: GET /api/auth/get-session (server/usecases/object.integration.test.ts:703)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/get-session (server/usecases/object.integration.test.ts:703)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:703` calls `GET /api/auth/get-session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/get-session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eb3b11a2ccdad4a0", "name": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:745)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:745)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:745` calls `POST /api/shares/${share.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1b0031a8a8d233be", "name": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:759)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:759)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:759` calls `POST /api/shares/${share.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cd7aa2c92285c4b9", "name": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:776)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:776)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:776` calls `POST /api/shares/${share.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9d75540028b8d29a", "name": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:789)", "shortDescription": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:789)"}, "fullDescription": {"text": "`server/usecases/object.integration.test.ts:789` calls `POST /api/shares/${share.token}/objects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/shares/<p>/objects`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4800d05bf65b2cb3", "name": "Dangling fetch: POST /api/auth/sign-up/email (server/usecases/site/signup-mode.integration.test.ts:9)", "shortDescription": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/usecases/site/signup-mode.integration.test.ts:9)"}, "fullDescription": {"text": "`server/usecases/site/signup-mode.integration.test.ts:9` calls `POST /api/auth/sign-up/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/auth/sign-up/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9a08762452712997", "name": "Dangling fetch: PUT /api/site/options/auth_signup_mode (server/usecases/site/signup-mode.integration.test.ts:159)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/options/auth_signup_mode (server/usecases/site/signup-mode.integration.test.ts:159)"}, "fullDescription": {"text": "`server/usecases/site/signup-mode.integration.test.ts:159` calls `PUT /api/site/options/auth_signup_mode` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/site/options/auth_signup_mode`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fb4312558deb1648", "name": "Dangling fetch: GET /api/auth${path} (src/lib/api.ts:998)", "shortDescription": {"text": "Dangling fetch: GET /api/auth${path} (src/lib/api.ts:998)"}, "fullDescription": {"text": "`src/lib/api.ts:998` calls `GET /api/auth${path}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-449320a2c841d1bc", "name": "Dangling fetch: GET /api/auth/get-session (src/lib/api.ts:1162)", "shortDescription": {"text": "Dangling fetch: GET /api/auth/get-session (src/lib/api.ts:1162)"}, "fullDescription": {"text": "`src/lib/api.ts:1162` calls `GET /api/auth/get-session` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/auth/get-session`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e4ee8acbbec1b9d0", "name": "Dangling fetch: PUT /api/site/branding (src/lib/api.ts:1430)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/branding (src/lib/api.ts:1430)"}, "fullDescription": {"text": "`src/lib/api.ts:1430` calls `PUT /api/site/branding` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/site/branding`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d7a2bbfde480bef4", "name": "Dangling fetch: DELETE /api/site/announcements/${id} (e2e/announcements.spec.ts:62)", "shortDescription": {"text": "Dangling fetch: DELETE /api/site/announcements/${id} (e2e/announcements.spec.ts:62)"}, "fullDescription": {"text": "`e2e/announcements.spec.ts:62` calls `DELETE /api/site/announcements/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/site/announcements/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4532b02ba47db891", "name": "Dangling fetch: PUT /api/site/options/auth_signup_mode (e2e/site-invitations.spec.ts:6)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/options/auth_signup_mode (e2e/site-invitations.spec.ts:6)"}, "fullDescription": {"text": "`e2e/site-invitations.spec.ts:6` calls `PUT /api/site/options/auth_signup_mode` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/site/options/auth_signup_mode`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4b43c68307eba09d", "name": "Dangling fetch: PUT /api/site/email (e2e/site-invitations.spec.ts:20)", "shortDescription": {"text": "Dangling fetch: PUT /api/site/email (e2e/site-invitations.spec.ts:20)"}, "fullDescription": {"text": "`e2e/site-invitations.spec.ts:20` calls `PUT /api/site/email` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/site/email`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3abf952b8d28d710", "name": "Unused endpoint: USE /*", "shortDescription": {"text": "Unused endpoint: USE /*"}, "fullDescription": {"text": "`server/entry-azure.ts` declares `USE /*` 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-7a7da4485ffd5140", "name": "Unused endpoint: GET /*", "shortDescription": {"text": "Unused endpoint: GET /*"}, "fullDescription": {"text": "`server/entry-azure.ts` declares `GET /*` 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-b8073f7bf758f6d0", "name": "Unused endpoint: USE /api/*", "shortDescription": {"text": "Unused endpoint: USE /api/*"}, "fullDescription": {"text": "`server/app.ts` declares `USE /api/*` 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-733349279c3f9bd4", "name": "Unused endpoint: USE /dav", "shortDescription": {"text": "Unused endpoint: USE /dav"}, "fullDescription": {"text": "`server/app.ts` declares `USE /dav` 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-5ae907d8dc30586f", "name": "Unused endpoint: USE /dav/*", "shortDescription": {"text": "Unused endpoint: USE /dav/*"}, "fullDescription": {"text": "`server/app.ts` declares `USE /dav/*` 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-2c8221890d425848", "name": "Unused endpoint: ALL /dav", "shortDescription": {"text": "Unused endpoint: ALL /dav"}, "fullDescription": {"text": "`server/app.ts` declares `ALL /dav` 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-81df9a95a67a42e0", "name": "Unused endpoint: POST /instance-telemetry/report", "shortDescription": {"text": "Unused endpoint: POST /instance-telemetry/report"}, "fullDescription": {"text": "`server/http/internal.ts` declares `POST /instance-telemetry/report` 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-c60b98b392e45c37", "name": "Unused endpoint: GET /api/licenses", "shortDescription": {"text": "Unused endpoint: GET /api/licenses"}, "fullDescription": {"text": "`e2e/helpers.ts` declares `GET /api/licenses` 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/18801"}, "properties": {"repository": "saltbo/zpan", "repoUrl": "https://github.com/saltbo/zpan", "branch": "main"}, "results": [{"ruleId": "scanner-6851a2369326af95", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/db-reset.ts:51"}, "properties": {"repobilityId": "1e7c63390f00cb59", "scanner": "scanner-primary", "fingerprint": "6851a2369326af95", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa2da1413f883cec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-http-boundary.ts:127"}, "properties": {"repobilityId": "442ad24f076ef6e5", "scanner": "scanner-primary", "fingerprint": "aa2da1413f883cec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49fbc516d153f6e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/entry-node.ts:68"}, "properties": {"repobilityId": "531d258d8565e829", "scanner": "scanner-primary", "fingerprint": "49fbc516d153f6e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46452bd6d4a1eeba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/middleware/logger.ts:19"}, "properties": {"repobilityId": "8672b8b87d9aa449", "scanner": "scanner-primary", "fingerprint": "46452bd6d4a1eeba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eb9a66f7f1bd1e61", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server/usecases/site/licensing.ts:324"}, "properties": {"repobilityId": "077d7d551944073a", "scanner": "scanner-primary", "fingerprint": "eb9a66f7f1bd1e61", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ed8e7cd479f2afbd", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/global-search-bar.tsx:15"}, "properties": {"repobilityId": "949eb33377a60ede", "scanner": "scanner-primary", "fingerprint": "ed8e7cd479f2afbd", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f80461355d7da7b3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/user-account-menu.tsx:51"}, "properties": {"repobilityId": "32dd9da407b48a6a", "scanner": "scanner-primary", "fingerprint": "f80461355d7da7b3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-dc366b146d5f3522", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/layout/page-header.tsx:45"}, "properties": {"repobilityId": "c04ea80b18781ad4", "scanner": "scanner-primary", "fingerprint": "dc366b146d5f3522", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1062e2836fd19008", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/upload/upload-queue.tsx:352"}, "properties": {"repobilityId": "7a307486d3fe2700", "scanner": "scanner-primary", "fingerprint": "1062e2836fd19008", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e22ec8376b3eb16e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/notifications/notification-item.tsx:63"}, "properties": {"repobilityId": "b7f8c6e416fbb651", "scanner": "scanner-primary", "fingerprint": "e22ec8376b3eb16e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c43e902637e7f106", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/team/org-switcher.tsx:61"}, "properties": {"repobilityId": "bf25be32504278e8", "scanner": "scanner-primary", "fingerprint": "c43e902637e7f106", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5b525c5ae1a95444", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/team/invite-dialog.tsx:191"}, "properties": {"repobilityId": "755636c851b24306", "scanner": "scanner-primary", "fingerprint": "5b525c5ae1a95444", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f88b5927401f7b6f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/columns.tsx:71"}, "properties": {"repobilityId": "16963fa056d5b212", "scanner": "scanner-primary", "fingerprint": "f88b5927401f7b6f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-00aa730ee0d016c1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/file-manager.tsx:83"}, "properties": {"repobilityId": "a35b7e839a449118", "scanner": "scanner-primary", "fingerprint": "00aa730ee0d016c1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5e2fab0fe7e3ab29", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/files-grid.tsx:121"}, "properties": {"repobilityId": "90aa6e8546c47718", "scanner": "scanner-primary", "fingerprint": "5e2fab0fe7e3ab29", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-41a5b2f14e32f10e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/dialogs/share-dialog.tsx:254"}, "properties": {"repobilityId": "2db4a47e1a8b9e39", "scanner": "scanner-primary", "fingerprint": "41a5b2f14e32f10e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a7f2cb772ff78c20", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/files/dialogs/operation-progress.tsx:35"}, "properties": {"repobilityId": "3ed62deed3baa711", "scanner": "scanner-primary", "fingerprint": "a7f2cb772ff78c20", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e6473ffcade0bb29", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/preview/text-preview.tsx:105"}, "properties": {"repobilityId": "ec2e3491af3250cd", "scanner": "scanner-primary", "fingerprint": "e6473ffcade0bb29", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-eb5f985190a052dc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/announcements/site-announcements.tsx:127"}, "properties": {"repobilityId": "9a6595f9cde1c458", "scanner": "scanner-primary", "fingerprint": "eb5f985190a052dc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5542d5b5ffc08741", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/admin/branding-section.tsx:185"}, "properties": {"repobilityId": "14e200bd2ba05f6b", "scanner": "scanner-primary", "fingerprint": "5542d5b5ffc08741", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8c2f8036810baa5c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/admin/oauth-providers-section.tsx:61"}, "properties": {"repobilityId": "f51ceb8e023e54c1", "scanner": "scanner-primary", "fingerprint": "8c2f8036810baa5c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4517650c095bb054", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/share/share-layout.tsx:50"}, "properties": {"repobilityId": "ae3179e3751fdb15", "scanner": "scanner-primary", "fingerprint": "4517650c095bb054", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-018c7951ac0b9d78", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/store/credits-panel.tsx:94"}, "properties": {"repobilityId": "581496baaf32785c", "scanner": "scanner-primary", "fingerprint": "018c7951ac0b9d78", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d5808add6f8989f9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/store/storage-usage.tsx:30"}, "properties": {"repobilityId": "648754f89f07d320", "scanner": "scanner-primary", "fingerprint": "d5808add6f8989f9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a560bf4a1e942f74", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/store/storage-packages.tsx:82"}, "properties": {"repobilityId": "c35b10c91d723e07", "scanner": "scanner-primary", "fingerprint": "a560bf4a1e942f74", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5ea34c3e4580e47d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/music/music-player-button.tsx:63"}, "properties": {"repobilityId": "84c3987109fe9d24", "scanner": "scanner-primary", "fingerprint": "5ea34c3e4580e47d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1dac54119637557c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/background-tasks/task-list.tsx:95"}, "properties": {"repobilityId": "ea971bf97d83e77f", "scanner": "scanner-primary", "fingerprint": "1dac54119637557c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-23dac17ca4b81b85", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/users/index.tsx:98"}, "properties": {"repobilityId": "357ea2b64bef1b50", "scanner": "scanner-primary", "fingerprint": "23dac17ca4b81b85", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e95c087b249adf49", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/downloads/index.tsx:802"}, "properties": {"repobilityId": "957a5b6ce7f2240d", "scanner": "scanner-primary", "fingerprint": "e95c087b249adf49", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a12974348c9a2090", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/teams/$teamId/members.tsx:210"}, "properties": {"repobilityId": "0502260242448ff8", "scanner": "scanner-primary", "fingerprint": "a12974348c9a2090", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-fbf12aa2eb417716", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/announcement.tsx:212"}, "properties": {"repobilityId": "1d10c69396c8a25c", "scanner": "scanner-primary", "fingerprint": "fbf12aa2eb417716", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f1401dae73d882f4", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/index.tsx:124"}, "properties": {"repobilityId": "d822df577c07b2dc", "scanner": "scanner-primary", "fingerprint": "f1401dae73d882f4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-be08c847096b9dbf", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/users/index.tsx:204"}, "properties": {"repobilityId": "a0c1adb0ecb7b236", "scanner": "scanner-primary", "fingerprint": "be08c847096b9dbf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7071ae5bd9447a2c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/users/$userId.tsx:121"}, "properties": {"repobilityId": "de83ad9a95f64045", "scanner": "scanner-primary", "fingerprint": "7071ae5bd9447a2c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-55976a3fa96b65d3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/teams/$orgId.tsx:111"}, "properties": {"repobilityId": "fe243109ea66d90b", "scanner": "scanner-primary", "fingerprint": "55976a3fa96b65d3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-18944e27291bdf28", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/_authenticated/admin/storages/index.tsx:158"}, "properties": {"repobilityId": "20a52e419d5947f1", "scanner": "scanner-primary", "fingerprint": "18944e27291bdf28", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c015f1825cdf561c", "level": "warning", "message": {"text": "Privileged port 587 in use"}, "properties": {"repobilityId": "a87a96c3b2e62c08", "scanner": "scanner-primary", "fingerprint": "c015f1825cdf561c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/http/site/email-config.integration.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-103dbeadf9e0cc92", "level": "warning", "message": {"text": "Privileged port 465 in use"}, "properties": {"repobilityId": "bcd1f06b60a2b6bc", "scanner": "scanner-primary", "fingerprint": "103dbeadf9e0cc92", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/http/site/email-config.integration.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-25de52372c63f233", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:24-slim"}, "properties": {"repobilityId": "cfb5f00574e72872", "scanner": "scanner-primary", "fingerprint": "25de52372c63f233", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-1496d07fc73f0a06", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: golang:1.25"}, "properties": {"repobilityId": "58f46aae5ecff4d4", "scanner": "scanner-primary", "fingerprint": "1496d07fc73f0a06", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-84019dfd8d98a34d", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: debian:bookworm-slim"}, "properties": {"repobilityId": "1c143bc36007863b", "scanner": "scanner-primary", "fingerprint": "84019dfd8d98a34d", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-84019dfd8d98a34d", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: debian:bookworm-slim"}, "properties": {"repobilityId": "e6a44cda1118204b", "scanner": "scanner-primary", "fingerprint": "84019dfd8d98a34d", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-25de52372c63f233", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:24-slim"}, "properties": {"repobilityId": "a177d3148d04aaec", "scanner": "scanner-primary", "fingerprint": "25de52372c63f233", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-82ffa263e3075133", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in scripts/s3-mock.mjs:205"}, "properties": {"repobilityId": "d3dbab661948b026", "scanner": "scanner-primary", "fingerprint": "82ffa263e3075133", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/s3-mock.mjs"}, "region": {"startLine": 205}}}]}, {"ruleId": "scanner-5054a707fdb2007a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/db-reset.ts:1"}, "properties": {"repobilityId": "11fa1f8f0b2c0eeb", "scanner": "scanner-primary", "fingerprint": "5054a707fdb2007a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/db-reset.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9f3b0b174f8c594e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/run-cloud-e2e.mjs:2"}, "properties": {"repobilityId": "112f28429a68f6d4", "scanner": "scanner-primary", "fingerprint": "9f3b0b174f8c594e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/run-cloud-e2e.mjs"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-806a5ca234293c1a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/app-version.mjs:1"}, "properties": {"repobilityId": "211a8f1c52043455", "scanner": "scanner-primary", "fingerprint": "806a5ca234293c1a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/app-version.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a9c58b5f3c4c843", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/report-deploy-telemetry.mjs:1"}, "properties": {"repobilityId": "c393bcba5058a91f", "scanner": "scanner-primary", "fingerprint": "8a9c58b5f3c4c843", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/report-deploy-telemetry.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cf39182ac2e84eda", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/release.mjs:1"}, "properties": {"repobilityId": "b54b635c778fb88f", "scanner": "scanner-primary", "fingerprint": "cf39182ac2e84eda", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/release.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b6ae6688ae37be40", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/check-downloader-openapi.ts:1"}, "properties": {"repobilityId": "dbb63e5ff469dbc4", "scanner": "scanner-primary", "fingerprint": "b6ae6688ae37be40", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/check-downloader-openapi.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-38a4a9994d9da945", "level": "error", "message": {"text": "Possible secret in server/middleware/image-hosting-domain.cf-test.ts"}, "properties": {"repobilityId": "da538930f1923175", "scanner": "scanner-primary", "fingerprint": "38a4a9994d9da945", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/middleware/image-hosting-domain.cf-test.ts"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-b7c200c787f7cf68", "level": "error", "message": {"text": "Possible secret in server/test/setup.ts"}, "properties": {"repobilityId": "b748877c650725d5", "scanner": "scanner-primary", "fingerprint": "b7c200c787f7cf68", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/test/setup.ts"}, "region": {"startLine": 587}}}]}, {"ruleId": "scanner-b7c200c787f7cf68", "level": "error", "message": {"text": "Possible secret in server/test/setup.ts"}, "properties": {"repobilityId": "b748877c650725d5", "scanner": "scanner-primary", "fingerprint": "b7c200c787f7cf68", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/test/setup.ts"}, "region": {"startLine": 595}}}]}, {"ruleId": "scanner-2e3172f0eef5b169", "level": "error", "message": {"text": "Possible secret in server/http/share-public.cf-test.ts"}, "properties": {"repobilityId": "19c0708ce29442d1", "scanner": "scanner-primary", "fingerprint": "2e3172f0eef5b169", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/http/share-public.cf-test.ts"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-e6ce6ffa26be155c", "level": "error", "message": {"text": "Possible secret in server/http/redirect.cf-test.ts"}, "properties": {"repobilityId": "705610875f090200", "scanner": "scanner-primary", "fingerprint": "e6ce6ffa26be155c", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/http/redirect.cf-test.ts"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-8f20fc44fb41469f", "level": "error", "message": {"text": "Possible secret in server/http/objects.cf-test.ts"}, "properties": {"repobilityId": "2da253292ec5b7d4", "scanner": "scanner-primary", "fingerprint": "8f20fc44fb41469f", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/http/objects.cf-test.ts"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-6a6d32e92a9e901e", "level": "error", "message": {"text": "Possible secret in server/http/notifications.cf-test.ts"}, "properties": {"repobilityId": "65b6341256f98379", "scanner": "scanner-primary", "fingerprint": "6a6d32e92a9e901e", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/http/notifications.cf-test.ts"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-6f11f41faf92c220", "level": "error", "message": {"text": "Possible secret in server/http/auth/auth.cf-test.ts"}, "properties": {"repobilityId": "8372edbf10be981f", "scanner": "scanner-primary", "fingerprint": "6f11f41faf92c220", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/http/auth/auth.cf-test.ts"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-6f11f41faf92c220", "level": "error", "message": {"text": "Possible secret in server/http/auth/auth.cf-test.ts"}, "properties": {"repobilityId": "8372edbf10be981f", "scanner": "scanner-primary", "fingerprint": "6f11f41faf92c220", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/http/auth/auth.cf-test.ts"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-6f11f41faf92c220", "level": "error", "message": {"text": "Possible secret in server/http/auth/auth.cf-test.ts"}, "properties": {"repobilityId": "8372edbf10be981f", "scanner": "scanner-primary", "fingerprint": "6f11f41faf92c220", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/http/auth/auth.cf-test.ts"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-bc3b84df589a5097", "level": "error", "message": {"text": "Possible secret in server/http/site/storages.cf-test.ts"}, "properties": {"repobilityId": "2c47241773228180", "scanner": "scanner-primary", "fingerprint": "bc3b84df589a5097", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/http/site/storages.cf-test.ts"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-bc3b84df589a5097", "level": "error", "message": {"text": "Possible secret in server/http/site/storages.cf-test.ts"}, "properties": {"repobilityId": "2c47241773228180", "scanner": "scanner-primary", "fingerprint": "bc3b84df589a5097", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/http/site/storages.cf-test.ts"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-0d26e16090875069", "level": "error", "message": {"text": "Possible secret in server/http/image-hosting/images.cf-test.ts"}, "properties": {"repobilityId": "cc33773f45ef3344", "scanner": "scanner-primary", "fingerprint": "0d26e16090875069", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "server/http/image-hosting/images.cf-test.ts"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-b1cf990337559bed", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/preview/text-preview.tsx:105"}, "properties": {"repobilityId": "e410debb93089e01", "scanner": "scanner-primary", "fingerprint": "b1cf990337559bed", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/preview/text-preview.tsx"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-1ea1c4b861cc8cb1", "level": "error", "message": {"text": "Possible secret in e2e/helpers.ts"}, "properties": {"repobilityId": "e4132fb39d77c656", "scanner": "scanner-primary", "fingerprint": "1ea1c4b861cc8cb1", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "e2e/helpers.ts"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-255b057a06f296f3", "level": "error", "message": {"text": "Possible secret in e2e/image-host.spec.ts"}, "properties": {"repobilityId": "5579b72ca242f88a", "scanner": "scanner-primary", "fingerprint": "255b057a06f296f3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "e2e/image-host.spec.ts"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-7cdd31615269e024", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a1080b94497ad258", "scanner": "scanner-primary", "fingerprint": "7cdd31615269e024", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-aws-lambda.yml"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-7cdd31615269e024", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "37e9ce7ac2244b26", "scanner": "scanner-primary", "fingerprint": "7cdd31615269e024", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-aws-lambda.yml"}, "region": {"startLine": 90}}}]}, {"ruleId": "scanner-51e45de284252a77", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a7031c1ff07e9f95", "scanner": "scanner-primary", "fingerprint": "51e45de284252a77", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-cloud-run.yml"}, "region": {"startLine": 81}}}]}, {"ruleId": "scanner-51e45de284252a77", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b9d2880595f78952", "scanner": "scanner-primary", "fingerprint": "51e45de284252a77", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-cloud-run.yml"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-a0cde665beec607c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd64601b6fa7b407", "scanner": "scanner-primary", "fingerprint": "a0cde665beec607c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-azure.yml"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "33394848d578d7a7", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 113}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f0dc584a111ffc00", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 120}}}]}, {"ruleId": "scanner-1838a141491ce38c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b8fd4f5048f96576", "scanner": "scanner-primary", "fingerprint": "1838a141491ce38c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "b86179956da3a4a8", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-23fb35f7cd8ee93f", "level": "note", "message": {"text": "Very large file: cmd/internal/openapi/client.gen.go (7108 lines)"}, "properties": {"repobilityId": "f84d27ba7a1d020e", "scanner": "scanner-primary", "fingerprint": "23fb35f7cd8ee93f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-68addec8d831c86d", "level": "note", "message": {"text": "Very large file: server/http/objects.integration.test.ts (2264 lines)"}, "properties": {"repobilityId": "5341eacddba44c79", "scanner": "scanner-primary", "fingerprint": "68addec8d831c86d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-881dcb51f1821a5e", "level": "note", "message": {"text": "Very large file: server/http/shares.integration.test.ts (1873 lines)"}, "properties": {"repobilityId": "a5ecc1ee54eddfef", "scanner": "scanner-primary", "fingerprint": "881dcb51f1821a5e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-36801df909bdf460", "level": "note", "message": {"text": "Very large file: server/http/webdav.integration.test.ts (2428 lines)"}, "properties": {"repobilityId": "795e35f1ed2f7ce4", "scanner": "scanner-primary", "fingerprint": "36801df909bdf460", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-007a4dcd17aa0df7", "level": "note", "message": {"text": "Very large file: server/http/downloads/download-tasks.integration.test.ts (1632 lines)"}, "properties": {"repobilityId": "18122eb030dd8c41", "scanner": "scanner-primary", "fingerprint": "007a4dcd17aa0df7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8bafa708febb434f", "level": "note", "message": {"text": "Very large file: server/http/store/store.integration.test.ts (2425 lines)"}, "properties": {"repobilityId": "2e5bf396e17aeaca", "scanner": "scanner-primary", "fingerprint": "8bafa708febb434f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5ecfeb6533f9580b", "level": "note", "message": {"text": "Very large file: server/http/image-hosting/images.integration.test.ts (1316 lines)"}, "properties": {"repobilityId": "c91b37cc46298738", "scanner": "scanner-primary", "fingerprint": "5ecfeb6533f9580b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-13a85373b6ef0c20", "level": "note", "message": {"text": "Very large file: src/lib/api.test.ts (4000 lines)"}, "properties": {"repobilityId": "3b4b8bbd1b2f1df5", "scanner": "scanner-primary", "fingerprint": "13a85373b6ef0c20", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-37a09e4345900284", "level": "note", "message": {"text": "Very large file: src/routes/_authenticated/downloads/index.tsx (2142 lines)"}, "properties": {"repobilityId": "d5046a02661089c2", "scanner": "scanner-primary", "fingerprint": "37a09e4345900284", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "aae0aeea31d87472", "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": "a2616a48a401496f", "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": "55c31c2184a8e851", "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": "ab8b6f951deea768", "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": "4b6504b4deba0eb9", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-1769100d559bed9a", "level": "none", "message": {"text": "Commented-code block (5 lines) in playwright.config.ts:4"}, "properties": {"repobilityId": "eaff23626a58803c", "scanner": "scanner-primary", "fingerprint": "1769100d559bed9a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2833b5c4600eeba", "level": "none", "message": {"text": "Commented-code block (6 lines) in shared/content-disposition.ts:3"}, "properties": {"repobilityId": "e2987f250516cb0a", "scanner": "scanner-primary", "fingerprint": "f2833b5c4600eeba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8c48c881260f9b4", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lint-spec.mjs:4"}, "properties": {"repobilityId": "a0d3cdb2ec39f353", "scanner": "scanner-primary", "fingerprint": "f8c48c881260f9b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-046ca7c0f6a1cd0f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workers/bootstrap.cf-test.ts:17"}, "properties": {"repobilityId": "e9813a4fab711534", "scanner": "scanner-primary", "fingerprint": "046ca7c0f6a1cd0f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e3a0e0c04f0649cd", "level": "none", "message": {"text": "Commented-code block (6 lines) in workers/bootstrap.ts:23"}, "properties": {"repobilityId": "c63beccbbc6e7277", "scanner": "scanner-primary", "fingerprint": "e3a0e0c04f0649cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7e6ae3fd040f3b4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workers/bootstrap.ts:32"}, "properties": {"repobilityId": "d8a371ea6ef0c2b0", "scanner": "scanner-primary", "fingerprint": "e7e6ae3fd040f3b4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-683b49259bd18b33", "level": "none", "message": {"text": "Commented-code block (9 lines) in server/auth.integration.test.ts:758"}, "properties": {"repobilityId": "fdf5cf6453aaec9e", "scanner": "scanner-primary", "fingerprint": "683b49259bd18b33", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-865917965015e58d", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/auth.ts:495"}, "properties": {"repobilityId": "8e030ad036f4dbcb", "scanner": "scanner-primary", "fingerprint": "865917965015e58d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0387477909de37ff", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/entry-azure.ts:44"}, "properties": {"repobilityId": "afa95ded09235f30", "scanner": "scanner-primary", "fingerprint": "0387477909de37ff", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-30f7b6733b7c8115", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/composition.ts:1"}, "properties": {"repobilityId": "4a7059c25357bf32", "scanner": "scanner-primary", "fingerprint": "30f7b6733b7c8115", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7211407fb9d5d577", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/app.ts:104"}, "properties": {"repobilityId": "6247f66cd8930d60", "scanner": "scanner-primary", "fingerprint": "7211407fb9d5d577", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-13fc384567a8a1af", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/entry-node.ts:30"}, "properties": {"repobilityId": "6c0cc6efe47f7349", "scanner": "scanner-primary", "fingerprint": "13fc384567a8a1af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84ef165b4a6d8a88", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/adapters/providers/cf-custom-hostnames.ts:24"}, "properties": {"repobilityId": "194131bfb8d47739", "scanner": "scanner-primary", "fingerprint": "84ef165b4a6d8a88", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a895e019eb7bbf9c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/adapters/providers/changelog.ts:21"}, "properties": {"repobilityId": "39402e5dcea9bd5b", "scanner": "scanner-primary", "fingerprint": "a895e019eb7bbf9c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-29728d2c5ed705c8", "level": "note", "message": {"text": "Legacy-named symbol `sub_storage_legacy` in server/adapters/repos/quota.test.ts:93"}, "properties": {"repobilityId": "c7baec14af2ba199", "scanner": "scanner-primary", "fingerprint": "29728d2c5ed705c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2f56f50f9f999254", "level": "note", "message": {"text": "Legacy-named symbol `object_copy` in server/adapters/repos/matter.ts:453"}, "properties": {"repobilityId": "e342e2d26265ea87", "scanner": "scanner-primary", "fingerprint": "2f56f50f9f999254", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a9ffe9ea8d62ea3b", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/adapters/repos/matter.ts:243"}, "properties": {"repobilityId": "4a3b43d242297d7f", "scanner": "scanner-primary", "fingerprint": "a9ffe9ea8d62ea3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-43756282d16f0b95", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/adapters/gateways/email.ts:54"}, "properties": {"repobilityId": "0785afe075ca13bf", "scanner": "scanner-primary", "fingerprint": "43756282d16f0b95", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8c51f3cb9dc3ea6b", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/adapters/gateways/image-upload.ts:38"}, "properties": {"repobilityId": "3a37821a9bb61730", "scanner": "scanner-primary", "fingerprint": "8c51f3cb9dc3ea6b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cea71c5aed34af36", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/adapters/gateways/s3.ts:68"}, "properties": {"repobilityId": "e40471a8a05f3e35", "scanner": "scanner-primary", "fingerprint": "cea71c5aed34af36", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ef200fdd39710961", "level": "note", "message": {"text": "Legacy-named symbol `sub_storage_old` in server/http/quotas.integration.test.ts:144"}, "properties": {"repobilityId": "34339dad0d3bea0a", "scanner": "scanner-primary", "fingerprint": "ef200fdd39710961", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9439714ae4d84146", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/http/users.ts:50"}, "properties": {"repobilityId": "e864db5263ca5406", "scanner": "scanner-primary", "fingerprint": "9439714ae4d84146", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-033364a8e0ea96e9", "level": "note", "message": {"text": "Legacy-named symbol `sub_storage_old` in server/http/users.integration.test.ts:124"}, "properties": {"repobilityId": "ee5e9e84f75ceb32", "scanner": "scanner-primary", "fingerprint": "033364a8e0ea96e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-196079046ae73ed1", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/http/events.ts:25"}, "properties": {"repobilityId": "20f379649df51705", "scanner": "scanner-primary", "fingerprint": "196079046ae73ed1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-96ea5b021e22c056", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/http/objects.integration.test.ts:2238"}, "properties": {"repobilityId": "2e10e9e947e0bc79", "scanner": "scanner-primary", "fingerprint": "96ea5b021e22c056", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-90edeb29f025b9b4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 server/http/webdav.integration.test.ts:2313"}, "properties": {"repobilityId": "7b680e71e3720557", "scanner": "scanner-primary", "fingerprint": "90edeb29f025b9b4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-75a9249b9158a8c6", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/http/site/licensing.ts:76"}, "properties": {"repobilityId": "39ddf500e9175398", "scanner": "scanner-primary", "fingerprint": "75a9249b9158a8c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad18aa3eb36cb77f", "level": "note", "message": {"text": "Legacy-named symbol `object_copy` in server/http/site/audit-events.integration.test.ts:159"}, "properties": {"repobilityId": "0d5e72ac46445f69", "scanner": "scanner-primary", "fingerprint": "ad18aa3eb36cb77f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-09ec86d63f7ebfb7", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/http/store/helpers.ts:18"}, "properties": {"repobilityId": "188e482c0bcb0814", "scanner": "scanner-primary", "fingerprint": "09ec86d63f7ebfb7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-41382046805a2d9d", "level": "none", "message": {"text": "Commented-code block (8 lines) in server/http/image-hosting/images.ts:59"}, "properties": {"repobilityId": "9fe4fa717b00bda6", "scanner": "scanner-primary", "fingerprint": "41382046805a2d9d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ccb3f3eaa054372", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/usecases/user.ts:1"}, "properties": {"repobilityId": "99aefb86aadc18dd", "scanner": "scanner-primary", "fingerprint": "8ccb3f3eaa054372", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-490f1df036e6dc07", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/usecases/share.ts:1"}, "properties": {"repobilityId": "956d254c2a78b9d3", "scanner": "scanner-primary", "fingerprint": "490f1df036e6dc07", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73581659f966969b", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/usecases/team.ts:1"}, "properties": {"repobilityId": "2f049bbdf7dffc24", "scanner": "scanner-primary", "fingerprint": "73581659f966969b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-245c6a81fe14b08f", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/usecases/redirect.test.ts:17"}, "properties": {"repobilityId": "ed66d91f1fff7c05", "scanner": "scanner-primary", "fingerprint": "245c6a81fe14b08f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a01baf4ed4bc38f", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/usecases/redirect.ts:1"}, "properties": {"repobilityId": "149e0b8357300394", "scanner": "scanner-primary", "fingerprint": "5a01baf4ed4bc38f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-279cb71a5d2a1e0b", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/usecases/webdav.ts:1"}, "properties": {"repobilityId": "6addfc1f34ac3570", "scanner": "scanner-primary", "fingerprint": "279cb71a5d2a1e0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2fc49ba7d822639c", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/usecases/share.test.ts:36"}, "properties": {"repobilityId": "9fdf312f554a8129", "scanner": "scanner-primary", "fingerprint": "2fc49ba7d822639c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cc73f0b737c4b9fc", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/usecases/events.ts:67"}, "properties": {"repobilityId": "5a9a111c43b44b18", "scanner": "scanner-primary", "fingerprint": "cc73f0b737c4b9fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8d77bfd056bf884a", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/usecases/object.ts:7"}, "properties": {"repobilityId": "3d39dec799daa49d", "scanner": "scanner-primary", "fingerprint": "8d77bfd056bf884a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa6c3840674d89ad", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/usecases/downloads/downloads.ts:28"}, "properties": {"repobilityId": "2a812bbecc67d993", "scanner": "scanner-primary", "fingerprint": "aa6c3840674d89ad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-310be2befcd9847e", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/usecases/site/public-origin.ts:4"}, "properties": {"repobilityId": "607eeb06defcd5b9", "scanner": "scanner-primary", "fingerprint": "310be2befcd9847e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e20ffb35162f9fbf", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/usecases/site/auth-provider.ts:1"}, "properties": {"repobilityId": "ffa9905384e94b1d", "scanner": "scanner-primary", "fingerprint": "e20ffb35162f9fbf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b141d00d4996a920", "level": "none", "message": {"text": "Commented-code block (8 lines) in server/usecases/site/licensing.ts:368"}, "properties": {"repobilityId": "841618195a16f504", "scanner": "scanner-primary", "fingerprint": "b141d00d4996a920", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-504769fa32fe31e7", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/usecases/site/system.ts:1"}, "properties": {"repobilityId": "27d3a1fd0817a481", "scanner": "scanner-primary", "fingerprint": "504769fa32fe31e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5badd2a909f616d2", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/usecases/site/invite-code.ts:1"}, "properties": {"repobilityId": "26662772e6b37d8b", "scanner": "scanner-primary", "fingerprint": "5badd2a909f616d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99c861fb6b2fc12d", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/usecases/site/invitation.ts:1"}, "properties": {"repobilityId": "0f784db51334c355", "scanner": "scanner-primary", "fingerprint": "99c861fb6b2fc12d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6dca705618d4d9bd", "level": "none", "message": {"text": "Commented-code block (6 lines) in server/usecases/store/traffic-metering.ts:222"}, "properties": {"repobilityId": "f69fd4ce6b7a5152", "scanner": "scanner-primary", "fingerprint": "6dca705618d4d9bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8484173cb70acd0e", "level": "none", "message": {"text": "Commented-code block (8 lines) in server/usecases/store/store.ts:1"}, "properties": {"repobilityId": "13ac87ce9e04e575", "scanner": "scanner-primary", "fingerprint": "8484173cb70acd0e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a139d3332debbc2", "level": "none", "message": {"text": "Commented-code block (8 lines) in server/usecases/image-hosting/config.ts:1"}, "properties": {"repobilityId": "5d2ddcabcc70921e", "scanner": "scanner-primary", "fingerprint": "7a139d3332debbc2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50d0dee365619046", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/usecases/image-hosting/images.ts:1"}, "properties": {"repobilityId": "d57cd1cc9fcf51b8", "scanner": "scanner-primary", "fingerprint": "50d0dee365619046", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82da0f1265186209", "level": "none", "message": {"text": "Commented-code block (5 lines) in server/usecases/ports/downloads.ts:17"}, "properties": {"repobilityId": "7d9953ae0ffbf003", "scanner": "scanner-primary", "fingerprint": "82da0f1265186209", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-03353de751c16f24", "level": "none", "message": {"text": "Commented-code block (7 lines) in server/domain/license-keys.ts:9"}, "properties": {"repobilityId": "ca754e417fa82c7c", "scanner": "scanner-primary", "fingerprint": "03353de751c16f24", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b39e46e109351a85", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/components/oauth-buttons.test.ts:6"}, "properties": {"repobilityId": "6e45dd6514a882ba", "scanner": "scanner-primary", "fingerprint": "b39e46e109351a85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40c0cd3418813caf", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/components/files/columns.test.ts:377"}, "properties": {"repobilityId": "cdd085e7fee7b725", "scanner": "scanner-primary", "fingerprint": "40c0cd3418813caf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f98d17d6bf1bffcf", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/_authenticated/teams/index.test.tsx:302"}, "properties": {"repobilityId": "57b62524f1f90220", "scanner": "scanner-primary", "fingerprint": "f98d17d6bf1bffcf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9573900039827325", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/routes/(auth)/sign-in.test.ts:10"}, "properties": {"repobilityId": "9dc7d5bda92fc08b", "scanner": "scanner-primary", "fingerprint": "9573900039827325", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf8c690a5e802f82", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/hooks/server-events-store.ts:1"}, "properties": {"repobilityId": "e93f9ef7114adf69", "scanner": "scanner-primary", "fingerprint": "cf8c690a5e802f82", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c975cd5767ccdb8d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/hooks/useServerEvents.ts:14"}, "properties": {"repobilityId": "caf99074458150ce", "scanner": "scanner-primary", "fingerprint": "c975cd5767ccdb8d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b36c2d01c0f931fe", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/cloud-store.spec.ts:328"}, "properties": {"repobilityId": "b048eda3c8fb444f", "scanner": "scanner-primary", "fingerprint": "b36c2d01c0f931fe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-37d8c6af9544d039", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/announcements.spec.ts:62"}, "properties": {"repobilityId": "bde8c8284d657e67", "scanner": "scanner-primary", "fingerprint": "37d8c6af9544d039", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f8b516009fd3dd58", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/responsive-preview.spec.ts:35"}, "properties": {"repobilityId": "02455d25432b4658", "scanner": "scanner-primary", "fingerprint": "f8b516009fd3dd58", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-66a27bafead2dcb2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/site-invitations.spec.ts:6"}, "properties": {"repobilityId": "9fea6e51c97274b3", "scanner": "scanner-primary", "fingerprint": "66a27bafead2dcb2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8a68b179b18b9e1d", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (scripts/db-reset.ts:44)"}, "properties": {"repobilityId": "84d685f2bcd81697", "scanner": "scanner-primary", "fingerprint": "8a68b179b18b9e1d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9b4e6e7b14726a91", "level": "error", "message": {"text": "Dangling fetch: POST /api/admin/storages (scripts/db-reset.ts:71)"}, "properties": {"repobilityId": "9559fb47d6b84b88", "scanner": "scanner-primary", "fingerprint": "9b4e6e7b14726a91", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c0943c38d5c33d74", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/auth.integration.test.ts:15)"}, "properties": {"repobilityId": "603f0c17eb760bbd", "scanner": "scanner-primary", "fingerprint": "c0943c38d5c33d74", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fec9eaa44017446b", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/send-verification-email (server/auth.integration.test.ts:278)"}, "properties": {"repobilityId": "275d527d83a69b2e", "scanner": "scanner-primary", "fingerprint": "fec9eaa44017446b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b92e9db0f8273f86", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/send-verification-email (server/auth.integration.test.ts:304)"}, "properties": {"repobilityId": "3bba7874edfb7cae", "scanner": "scanner-primary", "fingerprint": "b92e9db0f8273f86", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d5b3c1d3e408f93c", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/send-verification-email (server/auth.integration.test.ts:339)"}, "properties": {"repobilityId": "0227da737001f261", "scanner": "scanner-primary", "fingerprint": "d5b3c1d3e408f93c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-834cfd72a8ebdfa3", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-in/social (server/auth.integration.test.ts:396)"}, "properties": {"repobilityId": "807c248effae3008", "scanner": "scanner-primary", "fingerprint": "834cfd72a8ebdfa3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7feb8c3408c01989", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-in/social (server/auth.integration.test.ts:418)"}, "properties": {"repobilityId": "925440ad81c5f790", "scanner": "scanner-primary", "fingerprint": "7feb8c3408c01989", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c27f2dbe86a2a5ec", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/auth.integration.test.ts:486)"}, "properties": {"repobilityId": "2a5045d07aa3a87a", "scanner": "scanner-primary", "fingerprint": "c27f2dbe86a2a5ec", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8026c8d452ac6228", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/create (server/auth.integration.test.ts:511)"}, "properties": {"repobilityId": "e4a46e076782d16b", "scanner": "scanner-primary", "fingerprint": "8026c8d452ac6228", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cd91ab5a08283d07", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/create (server/auth.integration.test.ts:534)"}, "properties": {"repobilityId": "db346a022d98e5ac", "scanner": "scanner-primary", "fingerprint": "cd91ab5a08283d07", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0a653bf29cb519a0", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/invite-member (server/auth.integration.test.ts:597)"}, "properties": {"repobilityId": "5ce9d721465a2a2e", "scanner": "scanner-primary", "fingerprint": "0a653bf29cb519a0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5f66f1f33f361c4a", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/invite-member (server/auth.integration.test.ts:623)"}, "properties": {"repobilityId": "84c6d7e8463fc86b", "scanner": "scanner-primary", "fingerprint": "5f66f1f33f361c4a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5518fc2e1c73d582", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/get-session (server/cors.test.ts:11)"}, "properties": {"repobilityId": "3125fa39b08f961f", "scanner": "scanner-primary", "fingerprint": "5518fc2e1c73d582", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2aa5056cd4b445a8", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/get-session (server/cors.test.ts:16)"}, "properties": {"repobilityId": "12836717ecb4ec76", "scanner": "scanner-primary", "fingerprint": "2aa5056cd4b445a8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b64faba89146338d", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/get-session (server/cors.test.ts:28)"}, "properties": {"repobilityId": "52b3703de1fdc2ae", "scanner": "scanner-primary", "fingerprint": "b64faba89146338d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-803249806a9380e2", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/app.test.ts:19)"}, "properties": {"repobilityId": "fb3baded96ef4542", "scanner": "scanner-primary", "fingerprint": "803249806a9380e2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-263f53513161fb36", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/app.test.ts:38)"}, "properties": {"repobilityId": "8ae810f470784f80", "scanner": "scanner-primary", "fingerprint": "263f53513161fb36", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-60f1df3aa1a4e1aa", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-in/social (server/app.test.ts:60)"}, "properties": {"repobilityId": "8e7ca79439b2d4dc", "scanner": "scanner-primary", "fingerprint": "60f1df3aa1a4e1aa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-075ce5f4a8539ee5", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-in/social (server/app.test.ts:72)"}, "properties": {"repobilityId": "c137c34232544d3c", "scanner": "scanner-primary", "fingerprint": "075ce5f4a8539ee5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-81afc57dbb0ffbc0", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-in/social (server/app.test.ts:89)"}, "properties": {"repobilityId": "f2fa7c07c6fbdca3", "scanner": "scanner-primary", "fingerprint": "81afc57dbb0ffbc0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4f4d0d4db2f64352", "level": "error", "message": {"text": "Dangling fetch: POST https://api.cloudflare.com/client/v4/zones/${this.cfg.zoneId}/custom_hostnames (server/adapters/providers/cf-custom-hostnames.ts:24)"}, "properties": {"repobilityId": "19f97d81a633dffb", "scanner": "scanner-primary", "fingerprint": "4f4d0d4db2f64352", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5d07a796bdba6f30", "level": "error", "message": {"text": "Dangling fetch: GET https://api.cloudflare.com/client/v4/zones/${this.cfg.zoneId}/custom_hostnames/${id} (server/adapters/providers/cf-custom-hostnames.ts:49)"}, "properties": {"repobilityId": "4fd303c699f01c6b", "scanner": "scanner-primary", "fingerprint": "5d07a796bdba6f30", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b55f23cf409edd31", "level": "error", "message": {"text": "Dangling fetch: DELETE https://api.cloudflare.com/client/v4/zones/${this.cfg.zoneId}/custom_hostnames/${id} (server/adapters/providers/cf-custom-hostnames.ts:68)"}, "properties": {"repobilityId": "b688c4a043f95aab", "scanner": "scanner-primary", "fingerprint": "b55f23cf409edd31", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-eee25f1e46d90c5c", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks (server/adapters/repos/api-keys-rate-limit.integration.test.ts:110)"}, "properties": {"repobilityId": "62378ef08427a607", "scanner": "scanner-primary", "fingerprint": "eee25f1e46d90c5c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-08d60a62231df897", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks (server/adapters/repos/api-keys-rate-limit.integration.test.ts:111)"}, "properties": {"repobilityId": "4c751ab0045870e6", "scanner": "scanner-primary", "fingerprint": "08d60a62231df897", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5c29c1106d46d46d", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/ (server/adapters/repos/api-keys-rate-limit.integration.test.ts:136)"}, "properties": {"repobilityId": "fa03da1c9b8a4114", "scanner": "scanner-primary", "fingerprint": "5c29c1106d46d46d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d5e7148207e9b046", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/ (server/adapters/repos/api-keys-rate-limit.integration.test.ts:137)"}, "properties": {"repobilityId": "bb0db3b1527dfd40", "scanner": "scanner-primary", "fingerprint": "d5e7148207e9b046", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7e83dec1b8565202", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/middleware/auth.integration.test.ts:26)"}, "properties": {"repobilityId": "8e301a4614e1306f", "scanner": "scanner-primary", "fingerprint": "7e83dec1b8565202", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7ea7e952f34fdfea", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:43)"}, "properties": {"repobilityId": "b461e9414ed89cc2", "scanner": "scanner-primary", "fingerprint": "7ea7e952f34fdfea", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-91ffd6c42440fdc4", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:52)"}, "properties": {"repobilityId": "5f7f6e28e575da01", "scanner": "scanner-primary", "fingerprint": "91ffd6c42440fdc4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-812c15723df992f7", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:60)"}, "properties": {"repobilityId": "2babc1385e3bd7b9", "scanner": "scanner-primary", "fingerprint": "812c15723df992f7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-43f7645ebe737e5e", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:69)"}, "properties": {"repobilityId": "d4c6352e1cacd2d4", "scanner": "scanner-primary", "fingerprint": "43f7645ebe737e5e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-267a144db5363603", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin-only (server/middleware/auth.integration.test.ts:76)"}, "properties": {"repobilityId": "de5aaac2e816335b", "scanner": "scanner-primary", "fingerprint": "267a144db5363603", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3c08d4d3ffa9dd76", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/middleware/auth.integration.test.ts:107)"}, "properties": {"repobilityId": "2346f145bf1c7324", "scanner": "scanner-primary", "fingerprint": "3c08d4d3ffa9dd76", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2b78884b0cc7963d", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/set-active (server/middleware/auth.integration.test.ts:120)"}, "properties": {"repobilityId": "59b2b4fb9c2d7bef", "scanner": "scanner-primary", "fingerprint": "2b78884b0cc7963d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2c3d4d9dfc8e840f", "level": "error", "message": {"text": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:159)"}, "properties": {"repobilityId": "4121d433e2ca8f58", "scanner": "scanner-primary", "fingerprint": "2c3d4d9dfc8e840f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e007d035669d4e25", "level": "error", "message": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:166)"}, "properties": {"repobilityId": "8c011bcb12574fcf", "scanner": "scanner-primary", "fingerprint": "e007d035669d4e25", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f4077f3d80f5efe7", "level": "error", "message": {"text": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:179)"}, "properties": {"repobilityId": "4ee04589fd0d3bf8", "scanner": "scanner-primary", "fingerprint": "f4077f3d80f5efe7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2f175883f5f42742", "level": "error", "message": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:190)"}, "properties": {"repobilityId": "fe86ff20c76e86e8", "scanner": "scanner-primary", "fingerprint": "2f175883f5f42742", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5685e0e5ec039d41", "level": "error", "message": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:203)"}, "properties": {"repobilityId": "fb70c7c182bfc9db", "scanner": "scanner-primary", "fingerprint": "5685e0e5ec039d41", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-54690c0fd007536c", "level": "error", "message": {"text": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:214)"}, "properties": {"repobilityId": "60e95101877f3306", "scanner": "scanner-primary", "fingerprint": "54690c0fd007536c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-536e2e32d7046f41", "level": "error", "message": {"text": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:227)"}, "properties": {"repobilityId": "9c4d5a0e777af85e", "scanner": "scanner-primary", "fingerprint": "536e2e32d7046f41", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-99de45953ebb45a0", "level": "error", "message": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:238)"}, "properties": {"repobilityId": "58e7c47d1f3186e8", "scanner": "scanner-primary", "fingerprint": "99de45953ebb45a0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ef086ea235f49831", "level": "error", "message": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:249)"}, "properties": {"repobilityId": "5bdd9d2ca61a940f", "scanner": "scanner-primary", "fingerprint": "ef086ea235f49831", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5a8f4fdd9f37ddcd", "level": "error", "message": {"text": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:267)"}, "properties": {"repobilityId": "34c14145f67aed1b", "scanner": "scanner-primary", "fingerprint": "5a8f4fdd9f37ddcd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cea542beb856bb64", "level": "error", "message": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:281)"}, "properties": {"repobilityId": "5b05dec0ac761023", "scanner": "scanner-primary", "fingerprint": "cea542beb856bb64", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b0e55cc02f5015de", "level": "error", "message": {"text": "Dangling fetch: POST /api/test/editor (server/middleware/auth.integration.test.ts:299)"}, "properties": {"repobilityId": "fff6d291a7666093", "scanner": "scanner-primary", "fingerprint": "b0e55cc02f5015de", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-28f47ae55c46ad99", "level": "error", "message": {"text": "Dangling fetch: GET /api/test/viewer (server/middleware/auth.integration.test.ts:314)"}, "properties": {"repobilityId": "875337079046ac60", "scanner": "scanner-primary", "fingerprint": "28f47ae55c46ad99", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-56d4f82ef3f82bb1", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/middleware/image-hosting-domain.cf-test.ts:22)"}, "properties": {"repobilityId": "b722070259fe29a1", "scanner": "scanner-primary", "fingerprint": "56d4f82ef3f82bb1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8a597776ff10fdec", "level": "error", "message": {"text": "Dangling fetch: GET /blog/shot.png (server/middleware/image-hosting-domain.cf-test.ts:72)"}, "properties": {"repobilityId": "8e585be618be2a91", "scanner": "scanner-primary", "fingerprint": "8a597776ff10fdec", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f0969ea813697f63", "level": "error", "message": {"text": "Dangling fetch: GET /api/nonexistent-endpoint (server/middleware/image-hosting-domain.integration.test.ts:114)"}, "properties": {"repobilityId": "bcfedf6b4c9820c9", "scanner": "scanner-primary", "fingerprint": "f0969ea813697f63", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e896cc729d74d686", "level": "error", "message": {"text": "Dangling fetch: GET /blog/image.png (server/middleware/image-hosting-domain.integration.test.ts:162)"}, "properties": {"repobilityId": "a2faa7376a9bc779", "scanner": "scanner-primary", "fingerprint": "e896cc729d74d686", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-25a4727e187ba8cb", "level": "error", "message": {"text": "Dangling fetch: GET /quota/image.png (server/middleware/image-hosting-domain.integration.test.ts:186)"}, "properties": {"repobilityId": "03745d19b7126d86", "scanner": "scanner-primary", "fingerprint": "25a4727e187ba8cb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-df94d290437d5018", "level": "error", "message": {"text": "Dangling fetch: GET /quota/over.png (server/middleware/image-hosting-domain.integration.test.ts:213)"}, "properties": {"repobilityId": "cdb8b198521f72b2", "scanner": "scanner-primary", "fingerprint": "df94d290437d5018", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-559d7ea049edc067", "level": "error", "message": {"text": "Dangling fetch: GET /quota/sign-fail.png (server/middleware/image-hosting-domain.integration.test.ts:239)"}, "properties": {"repobilityId": "f194fbc232e1329e", "scanner": "scanner-primary", "fingerprint": "559d7ea049edc067", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f60932225e160a1b", "level": "error", "message": {"text": "Dangling fetch: GET /blog/notexist.png (server/middleware/image-hosting-domain.integration.test.ts:259)"}, "properties": {"repobilityId": "8799d3922e306a8c", "scanner": "scanner-primary", "fingerprint": "f60932225e160a1b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5075b81e5ca748a6", "level": "error", "message": {"text": "Dangling fetch: GET /test/img.png (server/middleware/image-hosting-domain.integration.test.ts:274)"}, "properties": {"repobilityId": "e3b6654f0221310a", "scanner": "scanner-primary", "fingerprint": "5075b81e5ca748a6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-232cf7d789287971", "level": "error", "message": {"text": "Dangling fetch: GET /test/upper.png (server/middleware/image-hosting-domain.integration.test.ts:289)"}, "properties": {"repobilityId": "a466247406e1fd1e", "scanner": "scanner-primary", "fingerprint": "232cf7d789287971", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9fea566f91096888", "level": "error", "message": {"text": "Dangling fetch: GET / (server/middleware/image-hosting-domain.integration.test.ts:303)"}, "properties": {"repobilityId": "756125fb8eb26d68", "scanner": "scanner-primary", "fingerprint": "9fea566f91096888", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-62d015c63b07e4d9", "level": "error", "message": {"text": "Dangling fetch: GET /ref/blocked.png (server/middleware/image-hosting-domain.integration.test.ts:326)"}, "properties": {"repobilityId": "cff82a840da3aa73", "scanner": "scanner-primary", "fingerprint": "62d015c63b07e4d9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f1e4c9f4fa6d37d6", "level": "error", "message": {"text": "Dangling fetch: GET /ref/allowed.png (server/middleware/image-hosting-domain.integration.test.ts:346)"}, "properties": {"repobilityId": "5ae569bb85b325b6", "scanner": "scanner-primary", "fingerprint": "f1e4c9f4fa6d37d6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3b6d06c0032c1b01", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/middleware/image-hosting-domain.integration.test.ts:371)"}, "properties": {"repobilityId": "9874b3f36148bc2e", "scanner": "scanner-primary", "fingerprint": "3b6d06c0032c1b01", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-46328d2be3dcf9ae", "level": "error", "message": {"text": "Dangling fetch: GET /shared/image.png (server/middleware/image-hosting-domain.integration.test.ts:384)"}, "properties": {"repobilityId": "81df68987b741516", "scanner": "scanner-primary", "fingerprint": "46328d2be3dcf9ae", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9a0bd7de9229dd0c", "level": "error", "message": {"text": "Dangling fetch: GET /cnt/image.png (server/middleware/image-hosting-domain.integration.test.ts:404)"}, "properties": {"repobilityId": "5c3132b246d8bd96", "scanner": "scanner-primary", "fingerprint": "9a0bd7de9229dd0c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a69aa9421d3a915c", "level": "error", "message": {"text": "Dangling fetch: GET /cnt/blocked.png (server/middleware/image-hosting-domain.integration.test.ts:422)"}, "properties": {"repobilityId": "b63a257747f52d47", "scanner": "scanner-primary", "fingerprint": "a69aa9421d3a915c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ba694c72f4cc0e40", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/test/setup.ts:597)"}, "properties": {"repobilityId": "252ac11b133b0b61", "scanner": "scanner-primary", "fingerprint": "ba694c72f4cc0e40", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b694a543df1af236", "level": "error", "message": {"text": "Dangling fetch: GET /s/any-token (server/http/share-public.cf-test.ts:19)"}, "properties": {"repobilityId": "51c83efa5b901d2c", "scanner": "scanner-primary", "fingerprint": "b694a543df1af236", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-51291a771863ffde", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/nonexistent (server/http/share-public.cf-test.ts:32)"}, "properties": {"repobilityId": "3ef24d79e8ec33e3", "scanner": "scanner-primary", "fingerprint": "51291a771863ffde", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fc2396abea6fc682", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/share-public.cf-test.ts:49)"}, "properties": {"repobilityId": "3a9f6247766f9808", "scanner": "scanner-primary", "fingerprint": "fc2396abea6fc682", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-322cd469451ce7fe", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/share-public.cf-test.ts:95)"}, "properties": {"repobilityId": "3133591ba80cd845", "scanner": "scanner-primary", "fingerprint": "322cd469451ce7fe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1ce99208cbe491be", "level": "error", "message": {"text": "Dangling fetch: GET /r/nonexistent-cf-token (server/http/share-public.cf-test.ts:105)"}, "properties": {"repobilityId": "e8d7b092d7eb1e05", "scanner": "scanner-primary", "fingerprint": "1ce99208cbe491be", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-342dc8af665e83e5", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/share-public.cf-test.ts:129)"}, "properties": {"repobilityId": "b7276c588df8c396", "scanner": "scanner-primary", "fingerprint": "342dc8af665e83e5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5b502990b85cb5b6", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/redirect.cf-test.ts:22)"}, "properties": {"repobilityId": "8e66cc26a154dcdd", "scanner": "scanner-primary", "fingerprint": "5b502990b85cb5b6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ab1a849737e790cc", "level": "error", "message": {"text": "Dangling fetch: GET /r/unknownprefix_token (server/http/redirect.cf-test.ts:74)"}, "properties": {"repobilityId": "855a1279765e25ae", "scanner": "scanner-primary", "fingerprint": "ab1a849737e790cc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5ec33a45cff0090f", "level": "error", "message": {"text": "Dangling fetch: GET /dl/any-token (server/http/redirect.cf-test.ts:83)"}, "properties": {"repobilityId": "ff927f29c12f388c", "scanner": "scanner-primary", "fingerprint": "5ec33a45cff0090f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a8c9f64b90ce9187", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.cf-test.ts:102)"}, "properties": {"repobilityId": "490feba2a6eb0d3d", "scanner": "scanner-primary", "fingerprint": "a8c9f64b90ce9187", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d63b5767b35a16cc", "level": "error", "message": {"text": "Dangling fetch: GET /r/${token} (server/http/redirect.cf-test.ts:120)"}, "properties": {"repobilityId": "e24d5cc635d7016a", "scanner": "scanner-primary", "fingerprint": "d63b5767b35a16cc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-45273f963167d663", "level": "error", "message": {"text": "Dangling fetch: GET /r/${token}.jpg (server/http/redirect.cf-test.ts:135)"}, "properties": {"repobilityId": "0a4b967b207152ab", "scanner": "scanner-primary", "fingerprint": "45273f963167d663", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7036798c9a0fe781", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.cf-test.ts:161)"}, "properties": {"repobilityId": "ded4d654d37f240e", "scanner": "scanner-primary", "fingerprint": "7036798c9a0fe781", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2cfd988970e2401c", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:20)"}, "properties": {"repobilityId": "50e837ef93e26933", "scanner": "scanner-primary", "fingerprint": "2cfd988970e2401c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ad6cfa55ac090071", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:34)"}, "properties": {"repobilityId": "1a1ac5e5b2d23eab", "scanner": "scanner-primary", "fingerprint": "ad6cfa55ac090071", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fa9a731b03fb6aaa", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:41)"}, "properties": {"repobilityId": "a30e2bb1bf4f1e4e", "scanner": "scanner-primary", "fingerprint": "fa9a731b03fb6aaa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-eb7fa9bbc5ecff59", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:57)"}, "properties": {"repobilityId": "8e122d3122028415", "scanner": "scanner-primary", "fingerprint": "eb7fa9bbc5ecff59", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-49b3159c5d1c8724", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:81)"}, "properties": {"repobilityId": "4615f83e435bdd4c", "scanner": "scanner-primary", "fingerprint": "49b3159c5d1c8724", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a708b89921e6c23c", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:115)"}, "properties": {"repobilityId": "93dad5c401ce75c8", "scanner": "scanner-primary", "fingerprint": "a708b89921e6c23c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-61d72dbbc5339dae", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:150)"}, "properties": {"repobilityId": "b118901693ee701b", "scanner": "scanner-primary", "fingerprint": "61d72dbbc5339dae", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-73912e218755a776", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas/me (server/http/quotas.integration.test.ts:172)"}, "properties": {"repobilityId": "08e47e251a8aa08a", "scanner": "scanner-primary", "fingerprint": "73912e218755a776", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b1e1fad17236c349", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas/me (server/http/quotas.integration.test.ts:179)"}, "properties": {"repobilityId": "b627abd2ea17ad40", "scanner": "scanner-primary", "fingerprint": "b1e1fad17236c349", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fa5bd924399af6db", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas/me (server/http/quotas.integration.test.ts:203)"}, "properties": {"repobilityId": "91229f994e2d7620", "scanner": "scanner-primary", "fingerprint": "fa5bd924399af6db", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-191320d9e32617a0", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas/me (server/http/quotas.integration.test.ts:227)"}, "properties": {"repobilityId": "0c54c7a407537581", "scanner": "scanner-primary", "fingerprint": "191320d9e32617a0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7c643cac09023be6", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas (server/http/quotas.integration.test.ts:262)"}, "properties": {"repobilityId": "c811f32a9ca5c3e7", "scanner": "scanner-primary", "fingerprint": "7c643cac09023be6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b2d1b7cbca9d8dd6", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/objects.cf-test.ts:15)"}, "properties": {"repobilityId": "d0e82f2f85953672", "scanner": "scanner-primary", "fingerprint": "b2d1b7cbca9d8dd6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3904afc8728aa6c3", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects (server/http/objects.cf-test.ts:27)"}, "properties": {"repobilityId": "263e02b709455d07", "scanner": "scanner-primary", "fingerprint": "3904afc8728aa6c3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6eff6c168b58e308", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects (server/http/objects.cf-test.ts:34)"}, "properties": {"repobilityId": "b1df19a8f548a8cf", "scanner": "scanner-primary", "fingerprint": "6eff6c168b58e308", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-253c1346f9b09fbc", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/objects.cf-test.ts:43)"}, "properties": {"repobilityId": "930a60260ed8ec4d", "scanner": "scanner-primary", "fingerprint": "253c1346f9b09fbc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-044897a4b132b538", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/objects.cf-test.ts:54)"}, "properties": {"repobilityId": "32a3fd50c7fefe4d", "scanner": "scanner-primary", "fingerprint": "044897a4b132b538", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5560df1bd67e99f9", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/nonexistent (server/http/objects.cf-test.ts:65)"}, "properties": {"repobilityId": "e7a66ec83e108b27", "scanner": "scanner-primary", "fingerprint": "5560df1bd67e99f9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a2aa3a3037627e63", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/objects/nonexistent (server/http/objects.cf-test.ts:72)"}, "properties": {"repobilityId": "c2c3763712a73f01", "scanner": "scanner-primary", "fingerprint": "a2aa3a3037627e63", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fb1641d32e12947f", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/objects/nonexistent (server/http/objects.cf-test.ts:83)"}, "properties": {"repobilityId": "86f7330436b5f838", "scanner": "scanner-primary", "fingerprint": "fb1641d32e12947f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-156bba6bc75b22d8", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/notifications.integration.test.ts:24)"}, "properties": {"repobilityId": "44f7f161e6d6e748", "scanner": "scanner-primary", "fingerprint": "156bba6bc75b22d8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ba05cf12408fc217", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications (server/http/notifications.integration.test.ts:39)"}, "properties": {"repobilityId": "b4cb17e1c840f0c1", "scanner": "scanner-primary", "fingerprint": "ba05cf12408fc217", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e88b530623cfe459", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications (server/http/notifications.integration.test.ts:51)"}, "properties": {"repobilityId": "b04676137ebd2c18", "scanner": "scanner-primary", "fingerprint": "e88b530623cfe459", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f692ba3455645c44", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications?page=1&pageSize=3 (server/http/notifications.integration.test.ts:67)"}, "properties": {"repobilityId": "9cc453c7c97301d0", "scanner": "scanner-primary", "fingerprint": "f692ba3455645c44", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c2f2a6dc1a2dc0ca", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/${n1.id} (server/http/notifications.integration.test.ts:83)"}, "properties": {"repobilityId": "ded8c3607393247c", "scanner": "scanner-primary", "fingerprint": "c2f2a6dc1a2dc0ca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-16978174d1da36ac", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications?unread=true (server/http/notifications.integration.test.ts:89)"}, "properties": {"repobilityId": "ad8a19d28b3b6a6d", "scanner": "scanner-primary", "fingerprint": "16978174d1da36ac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1821df4c6b4eb11d", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications (server/http/notifications.integration.test.ts:102)"}, "properties": {"repobilityId": "444c6dd3dbd685cf", "scanner": "scanner-primary", "fingerprint": "1821df4c6b4eb11d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a178b960c1ab944d", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/stats (server/http/notifications.integration.test.ts:119)"}, "properties": {"repobilityId": "b3e6cdff1adf2fa5", "scanner": "scanner-primary", "fingerprint": "a178b960c1ab944d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-eedae856ffba20e9", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/${n.id} (server/http/notifications.integration.test.ts:134)"}, "properties": {"repobilityId": "491bc6d5b086d77d", "scanner": "scanner-primary", "fingerprint": "eedae856ffba20e9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bd04c92c30d0db78", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/stats (server/http/notifications.integration.test.ts:141)"}, "properties": {"repobilityId": "5b6a2e72ce094ad0", "scanner": "scanner-primary", "fingerprint": "bd04c92c30d0db78", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a7c8fa529ead8a76", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/${n.id} (server/http/notifications.integration.test.ts:151)"}, "properties": {"repobilityId": "33bdaa4146961bf7", "scanner": "scanner-primary", "fingerprint": "a7c8fa529ead8a76", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0473022de1601928", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/${n.id} (server/http/notifications.integration.test.ts:156)"}, "properties": {"repobilityId": "f0c97181ba5933c2", "scanner": "scanner-primary", "fingerprint": "0473022de1601928", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-811d59f6993c5c13", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/${n.id} (server/http/notifications.integration.test.ts:170)"}, "properties": {"repobilityId": "061097915ca59e17", "scanner": "scanner-primary", "fingerprint": "811d59f6993c5c13", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9e4c3a100386e96b", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/nonexistent (server/http/notifications.integration.test.ts:182)"}, "properties": {"repobilityId": "456a1c480d86e00e", "scanner": "scanner-primary", "fingerprint": "9e4c3a100386e96b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-813f37af2b963440", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications (server/http/notifications.integration.test.ts:201)"}, "properties": {"repobilityId": "32369a6e671ce6ed", "scanner": "scanner-primary", "fingerprint": "813f37af2b963440", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-32b2cf24f58eceea", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/stats (server/http/notifications.integration.test.ts:210)"}, "properties": {"repobilityId": "846a4b3713a62e52", "scanner": "scanner-primary", "fingerprint": "32b2cf24f58eceea", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-268f4a98a1187d0d", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications (server/http/notifications.integration.test.ts:221)"}, "properties": {"repobilityId": "63b8e611e956b0d4", "scanner": "scanner-primary", "fingerprint": "268f4a98a1187d0d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a9aad4dfceb3585e", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications (server/http/notifications.integration.test.ts:235)"}, "properties": {"repobilityId": "1b94f71188dfddb9", "scanner": "scanner-primary", "fingerprint": "a9aad4dfceb3585e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-63b9721f5ecc6825", "level": "error", "message": {"text": "Dangling fetch: GET /api/events (server/http/events.integration.test.ts:40)"}, "properties": {"repobilityId": "bb9f76fb24db613d", "scanner": "scanner-primary", "fingerprint": "63b9721f5ecc6825", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c46bd2bad151feb7", "level": "error", "message": {"text": "Dangling fetch: GET /api/events?downloadTasks=1 (server/http/events.integration.test.ts:51)"}, "properties": {"repobilityId": "31b02a326617077a", "scanner": "scanner-primary", "fingerprint": "c46bd2bad151feb7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-11854b330ef3e273", "level": "error", "message": {"text": "Dangling fetch: GET /api/events (server/http/events.integration.test.ts:67)"}, "properties": {"repobilityId": "d8b76c3c47cb2d66", "scanner": "scanner-primary", "fingerprint": "11854b330ef3e273", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9775465cc7f0cb11", "level": "error", "message": {"text": "Dangling fetch: GET /api/events (server/http/events.integration.test.ts:84)"}, "properties": {"repobilityId": "2007601f2d154022", "scanner": "scanner-primary", "fingerprint": "9775465cc7f0cb11", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d04e7c34896ed93f", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/users.integration.test.ts:22)"}, "properties": {"repobilityId": "97533a39aa761480", "scanner": "scanner-primary", "fingerprint": "d04e7c34896ed93f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d992791fa1f91fa8", "level": "error", "message": {"text": "Dangling fetch: GET /api/users (server/http/users.integration.test.ts:33)"}, "properties": {"repobilityId": "232689c2ffc44c5a", "scanner": "scanner-primary", "fingerprint": "d992791fa1f91fa8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-de2fec38a5181e3f", "level": "error", "message": {"text": "Dangling fetch: GET /api/users (server/http/users.integration.test.ts:49)"}, "properties": {"repobilityId": "2c944dc473104d77", "scanner": "scanner-primary", "fingerprint": "de2fec38a5181e3f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-485c57c44afaf84c", "level": "error", "message": {"text": "Dangling fetch: GET /api/users (server/http/users.integration.test.ts:57)"}, "properties": {"repobilityId": "d60e0ce381886ee8", "scanner": "scanner-primary", "fingerprint": "485c57c44afaf84c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4fd8fc8c66b401ca", "level": "error", "message": {"text": "Dangling fetch: GET /api/users?search=quota-list@example.com (server/http/users.integration.test.ts:91)"}, "properties": {"repobilityId": "c863c82630ef3818", "scanner": "scanner-primary", "fingerprint": "4fd8fc8c66b401ca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8d8191521bdc9fb8", "level": "error", "message": {"text": "Dangling fetch: GET /api/users?search=quota-plan@example.com (server/http/users.integration.test.ts:129)"}, "properties": {"repobilityId": "6c7873e8d93b98a3", "scanner": "scanner-primary", "fingerprint": "8d8191521bdc9fb8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0910448e0cb71bf5", "level": "error", "message": {"text": "Dangling fetch: GET /api/users?search=email%20match (server/http/users.integration.test.ts:149)"}, "properties": {"repobilityId": "fbafe06a76ff6b54", "scanner": "scanner-primary", "fingerprint": "0910448e0cb71bf5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b6025dd34b9f8f89", "level": "error", "message": {"text": "Dangling fetch: GET /api/users?search=username-target (server/http/users.integration.test.ts:155)"}, "properties": {"repobilityId": "f8539fce5b18d961", "scanner": "scanner-primary", "fingerprint": "b6025dd34b9f8f89", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7f38d0aa876bfb32", "level": "error", "message": {"text": "Dangling fetch: GET /api/users?search=other@example.com (server/http/users.integration.test.ts:160)"}, "properties": {"repobilityId": "5ee2d119cdbd7b49", "scanner": "scanner-primary", "fingerprint": "7f38d0aa876bfb32", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fd70aa40508114b9", "level": "error", "message": {"text": "Dangling fetch: GET /api/users/${userId} (server/http/users.integration.test.ts:173)"}, "properties": {"repobilityId": "9c76c755a14d6013", "scanner": "scanner-primary", "fingerprint": "fd70aa40508114b9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-96aba3efdf7dd009", "level": "error", "message": {"text": "Dangling fetch: GET /api/users/nonexistent (server/http/users.integration.test.ts:182)"}, "properties": {"repobilityId": "e9c80527ba4da5a6", "scanner": "scanner-primary", "fingerprint": "96aba3efdf7dd009", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7e740173ea06a5d7", "level": "error", "message": {"text": "Dangling fetch: GET /api/users/${userId}/entitlements (server/http/users.integration.test.ts:193)"}, "properties": {"repobilityId": "276ca6a1a7ce7a3e", "scanner": "scanner-primary", "fingerprint": "7e740173ea06a5d7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-eb5e0e1febf79b06", "level": "error", "message": {"text": "Dangling fetch: GET /api/users/nonexistent/entitlements (server/http/users.integration.test.ts:200)"}, "properties": {"repobilityId": "386b307f4f3bd71f", "scanner": "scanner-primary", "fingerprint": "eb5e0e1febf79b06", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-791c322d9df8ee21", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/${userId} (server/http/users.integration.test.ts:215)"}, "properties": {"repobilityId": "4a306d15866c93c3", "scanner": "scanner-primary", "fingerprint": "791c322d9df8ee21", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-87d9d9193a39c559", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/someid (server/http/users.integration.test.ts:232)"}, "properties": {"repobilityId": "84ede7799305239c", "scanner": "scanner-primary", "fingerprint": "87d9d9193a39c559", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e60ca0f8882aa7de", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/nonexistent (server/http/users.integration.test.ts:243)"}, "properties": {"repobilityId": "c7e00c51461d6742", "scanner": "scanner-primary", "fingerprint": "e60ca0f8882aa7de", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c55e9343308afe9d", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/users/${userId} (server/http/users.integration.test.ts:259)"}, "properties": {"repobilityId": "8d06e32eeff8d5e1", "scanner": "scanner-primary", "fingerprint": "c55e9343308afe9d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-de12e5e95b096bf8", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/${userId} (server/http/users.integration.test.ts:283)"}, "properties": {"repobilityId": "70b1686bc8a3a0df", "scanner": "scanner-primary", "fingerprint": "de12e5e95b096bf8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c56b7960c432932f", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas/me (server/http/users.integration.test.ts:290)"}, "properties": {"repobilityId": "563584c5c3e0ec41", "scanner": "scanner-primary", "fingerprint": "c56b7960c432932f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-631468bee95d856b", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/users/nonexistent (server/http/users.integration.test.ts:299)"}, "properties": {"repobilityId": "b28326e9b042cdca", "scanner": "scanner-primary", "fingerprint": "631468bee95d856b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2cf6688a40cf5b18", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users (server/http/users.integration.test.ts:316)"}, "properties": {"repobilityId": "8642403d9549a8f1", "scanner": "scanner-primary", "fingerprint": "2cf6688a40cf5b18", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-06fbedf0cd2ae9a5", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users (server/http/users.integration.test.ts:326)"}, "properties": {"repobilityId": "b8cf4ca3645aece3", "scanner": "scanner-primary", "fingerprint": "06fbedf0cd2ae9a5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-35047284046ec8df", "level": "error", "message": {"text": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:344)"}, "properties": {"repobilityId": "f31baa46b8d4bcfa", "scanner": "scanner-primary", "fingerprint": "35047284046ec8df", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1853fa5c5ee91223", "level": "error", "message": {"text": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:373)"}, "properties": {"repobilityId": "28ba1bec1a1265bc", "scanner": "scanner-primary", "fingerprint": "1853fa5c5ee91223", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bf08bf97005e4836", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/${entitlement.id} (server/http/users.integration.test.ts:381)"}, "properties": {"repobilityId": "24199fbcdbec2fdb", "scanner": "scanner-primary", "fingerprint": "bf08bf97005e4836", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-067999ced85bfea4", "level": "error", "message": {"text": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:403)"}, "properties": {"repobilityId": "95f0f3e72617c96d", "scanner": "scanner-primary", "fingerprint": "067999ced85bfea4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1bead27febdc0e67", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/users/${userId}/entitlements/${entitlement.id} (server/http/users.integration.test.ts:410)"}, "properties": {"repobilityId": "68484dafe8911545", "scanner": "scanner-primary", "fingerprint": "1bead27febdc0e67", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9b7bb0049442dcff", "level": "error", "message": {"text": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:430)"}, "properties": {"repobilityId": "b4b3f88f49af1369", "scanner": "scanner-primary", "fingerprint": "9b7bb0049442dcff", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d10f1ef09031b7a3", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/${entitlement.id} (server/http/users.integration.test.ts:437)"}, "properties": {"repobilityId": "b682a61f74980d73", "scanner": "scanner-primary", "fingerprint": "d10f1ef09031b7a3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a1408c912c2ec624", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/${entitlement.id} (server/http/users.integration.test.ts:449)"}, "properties": {"repobilityId": "9de9e619f98d8338", "scanner": "scanner-primary", "fingerprint": "a1408c912c2ec624", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5f7eff6ec931f899", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/ent-no-meta (server/http/users.integration.test.ts:477)"}, "properties": {"repobilityId": "e127e3679ed6a1de", "scanner": "scanner-primary", "fingerprint": "5f7eff6ec931f899", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5c60ed95067a806c", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/does-not-exist (server/http/users.integration.test.ts:496)"}, "properties": {"repobilityId": "9281f9ba450effd0", "scanner": "scanner-primary", "fingerprint": "5c60ed95067a806c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3ed5a50cb6bb35c4", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/users/${userId}/entitlements/does-not-exist (server/http/users.integration.test.ts:503)"}, "properties": {"repobilityId": "60ebc6d97383250f", "scanner": "scanner-primary", "fingerprint": "3ed5a50cb6bb35c4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1aa08dc5f070cb7e", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/any (server/http/users.integration.test.ts:518)"}, "properties": {"repobilityId": "8f3d46d4a9e0b81f", "scanner": "scanner-primary", "fingerprint": "1aa08dc5f070cb7e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bc53ca48411366fb", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/users/${userId}/entitlements/any (server/http/users.integration.test.ts:525)"}, "properties": {"repobilityId": "141035bebb639b2c", "scanner": "scanner-primary", "fingerprint": "bc53ca48411366fb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-15a4e6b7e782ac36", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/users/${userId}/entitlements/${free[0].id} (server/http/users.integration.test.ts:543)"}, "properties": {"repobilityId": "169a666cad308d6f", "scanner": "scanner-primary", "fingerprint": "15a4e6b7e782ac36", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8094cfb4884647e4", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/${userId}/entitlements/${free[0].id} (server/http/users.integration.test.ts:565)"}, "properties": {"repobilityId": "e3edd4333c8a7867", "scanner": "scanner-primary", "fingerprint": "8094cfb4884647e4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-82e80135f8ecb6ad", "level": "error", "message": {"text": "Dangling fetch: POST /api/users/${user.user.id}/entitlements (server/http/users.integration.test.ts:580)"}, "properties": {"repobilityId": "805d32d577abc58b", "scanner": "scanner-primary", "fingerprint": "82e80135f8ecb6ad", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ec06655df3f60302", "level": "error", "message": {"text": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/users.integration.test.ts:597)"}, "properties": {"repobilityId": "63a811cc7d9a5978", "scanner": "scanner-primary", "fingerprint": "ec06655df3f60302", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f319fcfa7913a9f2", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/users (server/http/users.integration.test.ts:617)"}, "properties": {"repobilityId": "e8a56188c486d295", "scanner": "scanner-primary", "fingerprint": "f319fcfa7913a9f2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5c6a91433540757f", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users (server/http/users.integration.test.ts:632)"}, "properties": {"repobilityId": "82f92668f828b144", "scanner": "scanner-primary", "fingerprint": "5c6a91433540757f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-476420167feab5a1", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/users (server/http/users.integration.test.ts:640)"}, "properties": {"repobilityId": "1e451df09a2946d8", "scanner": "scanner-primary", "fingerprint": "476420167feab5a1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-39e214bda37a056b", "level": "error", "message": {"text": "Dangling fetch: POST /api/users/${user.user.id}/entitlements (server/http/users.integration.test.ts:653)"}, "properties": {"repobilityId": "67cc99bc47389ef0", "scanner": "scanner-primary", "fingerprint": "39e214bda37a056b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-575d483efe4b2016", "level": "error", "message": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:686)"}, "properties": {"repobilityId": "ae45666539240705", "scanner": "scanner-primary", "fingerprint": "575d483efe4b2016", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a9164c6b053f5146", "level": "error", "message": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:693)"}, "properties": {"repobilityId": "a8637aeb5473e297", "scanner": "scanner-primary", "fingerprint": "a9164c6b053f5146", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c05b7344e8793cf2", "level": "error", "message": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:706)"}, "properties": {"repobilityId": "b4381d9d8bedac30", "scanner": "scanner-primary", "fingerprint": "c05b7344e8793cf2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4cdde4e850363949", "level": "error", "message": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:716)"}, "properties": {"repobilityId": "19903c7d94a2b2c8", "scanner": "scanner-primary", "fingerprint": "4cdde4e850363949", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c8fd1244f877926c", "level": "error", "message": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:726)"}, "properties": {"repobilityId": "3f5424f3ce8c985a", "scanner": "scanner-primary", "fingerprint": "c8fd1244f877926c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d4ef4a1e8f971376", "level": "error", "message": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:735)"}, "properties": {"repobilityId": "90c543c15ce643e3", "scanner": "scanner-primary", "fingerprint": "d4ef4a1e8f971376", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fc33ce406aeeee88", "level": "error", "message": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:746)"}, "properties": {"repobilityId": "6d35e545fd6919e6", "scanner": "scanner-primary", "fingerprint": "fc33ce406aeeee88", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bbe999cd90cacf84", "level": "error", "message": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:764)"}, "properties": {"repobilityId": "1db7dc374bdee03d", "scanner": "scanner-primary", "fingerprint": "bbe999cd90cacf84", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6dd9b2545d67590d", "level": "error", "message": {"text": "Dangling fetch: PUT /api/users/me/avatar (server/http/users.integration.test.ts:769)"}, "properties": {"repobilityId": "623e4c4b50277a28", "scanner": "scanner-primary", "fingerprint": "6dd9b2545d67590d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f195acf9bbe8acf1", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/users/me/avatar (server/http/users.integration.test.ts:784)"}, "properties": {"repobilityId": "265eedb158e2fe6f", "scanner": "scanner-primary", "fingerprint": "f195acf9bbe8acf1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-039a893e25343234", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/users/me/avatar (server/http/users.integration.test.ts:794)"}, "properties": {"repobilityId": "aa87936fc4396374", "scanner": "scanner-primary", "fingerprint": "039a893e25343234", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-53896144a1bd5108", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/users/me/avatar (server/http/users.integration.test.ts:808)"}, "properties": {"repobilityId": "f9264fab11733aa9", "scanner": "scanner-primary", "fingerprint": "53896144a1bd5108", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-325385e7a63295c0", "level": "error", "message": {"text": "Dangling fetch: GET /api/users/nonexistent (server/http/users.integration.test.ts:840)"}, "properties": {"repobilityId": "65237b86b2d09eda", "scanner": "scanner-primary", "fingerprint": "325385e7a63295c0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b34e9800e1bd4d5c", "level": "error", "message": {"text": "Dangling fetch: GET /api/users/testuser (server/http/users.integration.test.ts:850)"}, "properties": {"repobilityId": "0229edf7a9c9dc58", "scanner": "scanner-primary", "fingerprint": "b34e9800e1bd4d5c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1d5c0c7e99dff0ae", "level": "error", "message": {"text": "Dangling fetch: GET /api/users/testuser (server/http/users.integration.test.ts:861)"}, "properties": {"repobilityId": "96bf7c022e6195cf", "scanner": "scanner-primary", "fingerprint": "1d5c0c7e99dff0ae", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8e87ddf615d55038", "level": "error", "message": {"text": "Dangling fetch: GET /api/users/orphanuser (server/http/users.integration.test.ts:873)"}, "properties": {"repobilityId": "f7d9d936777e8bb9", "scanner": "scanner-primary", "fingerprint": "8e87ddf615d55038", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ed22f3354c87a80c", "level": "error", "message": {"text": "Dangling fetch: GET /api/users/nonexistent/objects (server/http/users.integration.test.ts:884)"}, "properties": {"repobilityId": "6c220745e79ed93f", "scanner": "scanner-primary", "fingerprint": "ed22f3354c87a80c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2b3039f961b9e1da", "level": "error", "message": {"text": "Dangling fetch: GET /api/users/testuser/objects (server/http/users.integration.test.ts:894)"}, "properties": {"repobilityId": "bc0741566534a2a6", "scanner": "scanner-primary", "fingerprint": "2b3039f961b9e1da", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-605990b7ac44a5eb", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/notifications.cf-test.ts:15)"}, "properties": {"repobilityId": "de2247780aa16169", "scanner": "scanner-primary", "fingerprint": "605990b7ac44a5eb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-adc402091391b1ce", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications (server/http/notifications.cf-test.ts:27)"}, "properties": {"repobilityId": "f3a31b4311bd948c", "scanner": "scanner-primary", "fingerprint": "adc402091391b1ce", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9aa5654e7c227cc1", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications (server/http/notifications.cf-test.ts:34)"}, "properties": {"repobilityId": "99f383cdc296fbe7", "scanner": "scanner-primary", "fingerprint": "9aa5654e7c227cc1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b1d516c36713ebc4", "level": "error", "message": {"text": "Dangling fetch: GET /api/notifications/stats (server/http/notifications.cf-test.ts:44)"}, "properties": {"repobilityId": "55a1453d786c0443", "scanner": "scanner-primary", "fingerprint": "b1d516c36713ebc4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b44e0f2ac2ac5bf5", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications (server/http/notifications.cf-test.ts:53)"}, "properties": {"repobilityId": "6ecbaaf40b076128", "scanner": "scanner-primary", "fingerprint": "b44e0f2ac2ac5bf5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4f122841dfc19af1", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/notifications/nonexistent (server/http/notifications.cf-test.ts:66)"}, "properties": {"repobilityId": "95b8f5986b773b43", "scanner": "scanner-primary", "fingerprint": "4f122841dfc19af1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-74520bb66eaad582", "level": "error", "message": {"text": "Dangling fetch: POST /api/internal/instance-telemetry/report (server/http/internal.test.ts:19)"}, "properties": {"repobilityId": "6bc90afe4cb5f31e", "scanner": "scanner-primary", "fingerprint": "74520bb66eaad582", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b1ecfb04e8ffbe48", "level": "error", "message": {"text": "Dangling fetch: POST /api/internal/instance-telemetry/report (server/http/internal.test.ts:31)"}, "properties": {"repobilityId": "28d24e79c53ba510", "scanner": "scanner-primary", "fingerprint": "b1ecfb04e8ffbe48", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-37a08ba36310d21f", "level": "error", "message": {"text": "Dangling fetch: POST /api/internal/instance-telemetry/report (server/http/internal.test.ts:45)"}, "properties": {"repobilityId": "f1a979abb1499a45", "scanner": "scanner-primary", "fingerprint": "37a08ba36310d21f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3feb27d814e4088c", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:116)"}, "properties": {"repobilityId": "e8daea88159b9e52", "scanner": "scanner-primary", "fingerprint": "3feb27d814e4088c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-638841577783b544", "level": "error", "message": {"text": "Dangling fetch: GET /r/ds_unknowntoken (server/http/redirect.integration.test.ts:124)"}, "properties": {"repobilityId": "8cb8ccd5634d1608", "scanner": "scanner-primary", "fingerprint": "638841577783b544", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-24ab660764d1c4f3", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:138)"}, "properties": {"repobilityId": "90cd5cce7eeb9e08", "scanner": "scanner-primary", "fingerprint": "24ab660764d1c4f3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0be2aa68443ed3a4", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:164)"}, "properties": {"repobilityId": "24a170275293cf39", "scanner": "scanner-primary", "fingerprint": "0be2aa68443ed3a4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-455b0b6de196c085", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:188)"}, "properties": {"repobilityId": "83fe6034a3a8a23f", "scanner": "scanner-primary", "fingerprint": "455b0b6de196c085", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-19afc603e4d44c5a", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/redirect.integration.test.ts:213)"}, "properties": {"repobilityId": "f56444c3e6469d06", "scanner": "scanner-primary", "fingerprint": "19afc603e4d44c5a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-27697183ece01c50", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_testtoken1 (server/http/redirect.integration.test.ts:236)"}, "properties": {"repobilityId": "c47909a7e522a9e7", "scanner": "scanner-primary", "fingerprint": "27697183ece01c50", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a2347f4390304ac8", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_exttest1.png (server/http/redirect.integration.test.ts:250)"}, "properties": {"repobilityId": "89a41cd91305ab00", "scanner": "scanner-primary", "fingerprint": "a2347f4390304ac8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fceaf34ad98d5919", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_exttest2.webp (server/http/redirect.integration.test.ts:262)"}, "properties": {"repobilityId": "59e7963e10dc7dc1", "scanner": "scanner-primary", "fingerprint": "fceaf34ad98d5919", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2eea5fc3671e968a", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_doesnotexist (server/http/redirect.integration.test.ts:269)"}, "properties": {"repobilityId": "de27eb8ed26eb5fb", "scanner": "scanner-primary", "fingerprint": "2eea5fc3671e968a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5dfc1838cdb9c30c", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_drafttoken (server/http/redirect.integration.test.ts:280)"}, "properties": {"repobilityId": "271359597e631406", "scanner": "scanner-primary", "fingerprint": "5dfc1838cdb9c30c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5b564846b49651fb", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_counttest1 (server/http/redirect.integration.test.ts:292)"}, "properties": {"repobilityId": "84f3221aab785c72", "scanner": "scanner-primary", "fingerprint": "5b564846b49651fb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3803e8c4a792a797", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_quotaok (server/http/redirect.integration.test.ts:309)"}, "properties": {"repobilityId": "8fb67365b64f0afb", "scanner": "scanner-primary", "fingerprint": "3803e8c4a792a797", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5c332bc4ef47fc9c", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_signfail (server/http/redirect.integration.test.ts:332)"}, "properties": {"repobilityId": "755091f83cb51156", "scanner": "scanner-primary", "fingerprint": "5c332bc4ef47fc9c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-44bf10f7864cdcca", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_quotarepeat (server/http/redirect.integration.test.ts:356)"}, "properties": {"repobilityId": "1960ea4ae37a344f", "scanner": "scanner-primary", "fingerprint": "44bf10f7864cdcca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c5bfa0055fc3a5da", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_quotarepeat (server/http/redirect.integration.test.ts:360)"}, "properties": {"repobilityId": "5f7b486a4c3cac91", "scanner": "scanner-primary", "fingerprint": "c5bfa0055fc3a5da", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9e7320e42589a00c", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_counttest2 (server/http/redirect.integration.test.ts:374)"}, "properties": {"repobilityId": "0bd659c9f456d852", "scanner": "scanner-primary", "fingerprint": "9e7320e42589a00c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9d2d12ff09cc37b4", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_reftest1 (server/http/redirect.integration.test.ts:390)"}, "properties": {"repobilityId": "e2413481b6886e0d", "scanner": "scanner-primary", "fingerprint": "9d2d12ff09cc37b4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d16c0ec1f9d8b13d", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_reftest2 (server/http/redirect.integration.test.ts:405)"}, "properties": {"repobilityId": "938d3ed38e62f432", "scanner": "scanner-primary", "fingerprint": "d16c0ec1f9d8b13d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-88a2460f64aaf41d", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_reftest3 (server/http/redirect.integration.test.ts:420)"}, "properties": {"repobilityId": "fda684cb1b833bca", "scanner": "scanner-primary", "fingerprint": "88a2460f64aaf41d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1808a5714f91da72", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_reftest4 (server/http/redirect.integration.test.ts:432)"}, "properties": {"repobilityId": "ba41c97179012242", "scanner": "scanner-primary", "fingerprint": "1808a5714f91da72", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-788fec99e72cbd3b", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_reftest5 (server/http/redirect.integration.test.ts:447)"}, "properties": {"repobilityId": "b61d8cd9f47ad76e", "scanner": "scanner-primary", "fingerprint": "788fec99e72cbd3b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-11d491e12805d61b", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_reftest6 (server/http/redirect.integration.test.ts:462)"}, "properties": {"repobilityId": "f5d1004bc0e84802", "scanner": "scanner-primary", "fingerprint": "11d491e12805d61b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-454ff5c20dcc1d2e", "level": "error", "message": {"text": "Dangling fetch: GET /r/unknownprefix_abc (server/http/redirect.integration.test.ts:475)"}, "properties": {"repobilityId": "94c2d11d9e9e6a5a", "scanner": "scanner-primary", "fingerprint": "454ff5c20dcc1d2e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ca721707d812b82d", "level": "error", "message": {"text": "Dangling fetch: GET /r/abcdefghij (server/http/redirect.integration.test.ts:481)"}, "properties": {"repobilityId": "5e54d937af2dd1f9", "scanner": "scanner-primary", "fingerprint": "ca721707d812b82d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-335168d7b286ce75", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/redirect.integration.test.ts:494)"}, "properties": {"repobilityId": "7a8203c51e77d540", "scanner": "scanner-primary", "fingerprint": "335168d7b286ce75", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fc44224105b864c5", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_isolationtest (server/http/redirect.integration.test.ts:514)"}, "properties": {"repobilityId": "35856901c7a2d2a5", "scanner": "scanner-primary", "fingerprint": "fc44224105b864c5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3f372c94b9b27f2d", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_quotatest (server/http/redirect.integration.test.ts:533)"}, "properties": {"repobilityId": "dbaefe24515d440b", "scanner": "scanner-primary", "fingerprint": "3f372c94b9b27f2d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-25461f7ae60b24bb", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects (server/http/objects.integration.test.ts:151)"}, "properties": {"repobilityId": "1ca69bec6f4ea6e5", "scanner": "scanner-primary", "fingerprint": "25461f7ae60b24bb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5c6788b2548b7439", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects (server/http/objects.integration.test.ts:158)"}, "properties": {"repobilityId": "64272a88e5f6179b", "scanner": "scanner-primary", "fingerprint": "5c6788b2548b7439", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ea28390869503276", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects?page=2&pageSize=10 (server/http/objects.integration.test.ts:167)"}, "properties": {"repobilityId": "8fddcdb163a931f6", "scanner": "scanner-primary", "fingerprint": "ea28390869503276", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b6340ebe6a2e0c85", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:178)"}, "properties": {"repobilityId": "b18c1daa51d747af", "scanner": "scanner-primary", "fingerprint": "b6340ebe6a2e0c85", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bafec12587929b23", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:195)"}, "properties": {"repobilityId": "c342a7297e60b391", "scanner": "scanner-primary", "fingerprint": "bafec12587929b23", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8c9e435ac499b837", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:206)"}, "properties": {"repobilityId": "9dc3551f757b0811", "scanner": "scanner-primary", "fingerprint": "8c9e435ac499b837", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-73fad7c5ffe70f49", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects (server/http/objects.integration.test.ts:224)"}, "properties": {"repobilityId": "9fa4d67ec5b54828", "scanner": "scanner-primary", "fingerprint": "73fad7c5ffe70f49", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-01241e83af64167a", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects?status=draft (server/http/objects.integration.test.ts:259)"}, "properties": {"repobilityId": "7cd47d31ec007582", "scanner": "scanner-primary", "fingerprint": "01241e83af64167a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4a477a37c03fd47e", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/f1 (server/http/objects.integration.test.ts:272)"}, "properties": {"repobilityId": "9191bf7e7dd10f00", "scanner": "scanner-primary", "fingerprint": "4a477a37c03fd47e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-225a1bc761f312a6", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/nonexistent (server/http/objects.integration.test.ts:284)"}, "properties": {"repobilityId": "c5142087c91f8c48", "scanner": "scanner-primary", "fingerprint": "225a1bc761f312a6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6efb5c9ba67d9fb4", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/objects/f1 (server/http/objects.integration.test.ts:295)"}, "properties": {"repobilityId": "899baf2cbbbef5da", "scanner": "scanner-primary", "fingerprint": "6efb5c9ba67d9fb4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-451b018cf5d2e142", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:313)"}, "properties": {"repobilityId": "faa7c12e0e8b2f8d", "scanner": "scanner-primary", "fingerprint": "451b018cf5d2e142", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-df608e9ecf648738", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/objects/nonexistent (server/http/objects.integration.test.ts:326)"}, "properties": {"repobilityId": "86c40177feece2a7", "scanner": "scanner-primary", "fingerprint": "df608e9ecf648738", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0d4efedaa7bc2bd7", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:341)"}, "properties": {"repobilityId": "5035e4cb2ff74aa1", "scanner": "scanner-primary", "fingerprint": "0d4efedaa7bc2bd7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b9a8f164e6cbedf8", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:358)"}, "properties": {"repobilityId": "d1fa55f946ad05df", "scanner": "scanner-primary", "fingerprint": "b9a8f164e6cbedf8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e8548cf60786ca60", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/objects/draft-cancel (server/http/objects.integration.test.ts:375)"}, "properties": {"repobilityId": "f8987faab6d57134", "scanner": "scanner-primary", "fingerprint": "e8548cf60786ca60", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8ae6b2fc28b12f3b", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/draft-cancel (server/http/objects.integration.test.ts:385)"}, "properties": {"repobilityId": "7ee97b121e3256f9", "scanner": "scanner-primary", "fingerprint": "8ae6b2fc28b12f3b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fe485a4455413d77", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/objects/active-cancel (server/http/objects.integration.test.ts:396)"}, "properties": {"repobilityId": "807ad3766d4d2684", "scanner": "scanner-primary", "fingerprint": "fe485a4455413d77", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b3e51843dc5478cc", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/objects/f1 (server/http/objects.integration.test.ts:408)"}, "properties": {"repobilityId": "e394a1d8efd68a1f", "scanner": "scanner-primary", "fingerprint": "b3e51843dc5478cc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f8c1f680268a14d2", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:419)"}, "properties": {"repobilityId": "01b85f0c0cc15e79", "scanner": "scanner-primary", "fingerprint": "f8c1f680268a14d2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-516b45b4f9e0a31b", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/objects/f1 (server/http/objects.integration.test.ts:426)"}, "properties": {"repobilityId": "d0f5d48b68a20892", "scanner": "scanner-primary", "fingerprint": "516b45b4f9e0a31b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1c7e3c52392bdc05", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/f1 (server/http/objects.integration.test.ts:432)"}, "properties": {"repobilityId": "f226d73b0718170c", "scanner": "scanner-primary", "fingerprint": "1c7e3c52392bdc05", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-77569e09f008c13b", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/movie-folder/status (server/http/objects.integration.test.ts:445)"}, "properties": {"repobilityId": "ad07cf09fd198582", "scanner": "scanner-primary", "fingerprint": "77569e09f008c13b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d6d35e68c5f16ae1", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/objects/movie-folder (server/http/objects.integration.test.ts:452)"}, "properties": {"repobilityId": "8341b3bad5beebc5", "scanner": "scanner-primary", "fingerprint": "d6d35e68c5f16ae1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-814ba6386b7e9b19", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:468)"}, "properties": {"repobilityId": "cac1a4fa4dc4fd39", "scanner": "scanner-primary", "fingerprint": "814ba6386b7e9b19", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-879a63f2102180fe", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects?status=trashed (server/http/objects.integration.test.ts:478)"}, "properties": {"repobilityId": "01a44f16789c60df", "scanner": "scanner-primary", "fingerprint": "879a63f2102180fe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ec2c24bb1954f6ee", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:490)"}, "properties": {"repobilityId": "b981da1b2665fcf3", "scanner": "scanner-primary", "fingerprint": "ec2c24bb1954f6ee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1e3cbfb0ff4e3976", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:510)"}, "properties": {"repobilityId": "d66b41894ec5a029", "scanner": "scanner-primary", "fingerprint": "1e3cbfb0ff4e3976", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-79caa43546fcdb1e", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects?status=trashed (server/http/objects.integration.test.ts:517)"}, "properties": {"repobilityId": "c9bffb3f0f839c18", "scanner": "scanner-primary", "fingerprint": "79caa43546fcdb1e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d9fe44206ce21dbf", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:523)"}, "properties": {"repobilityId": "ef997b10c249308d", "scanner": "scanner-primary", "fingerprint": "d9fe44206ce21dbf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-488773ac5cdbf8c5", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/m2 (server/http/objects.integration.test.ts:528)"}, "properties": {"repobilityId": "e9f23e73f822919c", "scanner": "scanner-primary", "fingerprint": "488773ac5cdbf8c5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3935c2c5fcc7acd9", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/album/status (server/http/objects.integration.test.ts:543)"}, "properties": {"repobilityId": "47544ea8fd1df7a8", "scanner": "scanner-primary", "fingerprint": "3935c2c5fcc7acd9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cf11e0f9b723d368", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects?status=trashed (server/http/objects.integration.test.ts:550)"}, "properties": {"repobilityId": "0c76977b0a227de5", "scanner": "scanner-primary", "fingerprint": "cf11e0f9b723d368", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-494f12ca0ae88895", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:566)"}, "properties": {"repobilityId": "40e8d7ce73be773e", "scanner": "scanner-primary", "fingerprint": "494f12ca0ae88895", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-57c2751a26534e83", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/m1 (server/http/objects.integration.test.ts:571)"}, "properties": {"repobilityId": "bd9b2b7ccfc7d687", "scanner": "scanner-primary", "fingerprint": "57c2751a26534e83", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-66a5ca73e757757e", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/objects/nonexistent (server/http/objects.integration.test.ts:578)"}, "properties": {"repobilityId": "3148bc86fbb0a417", "scanner": "scanner-primary", "fingerprint": "66a5ca73e757757e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0b0bb52e35a5cfc8", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/f1/copies (server/http/objects.integration.test.ts:593)"}, "properties": {"repobilityId": "01e08bb4065bc3d4", "scanner": "scanner-primary", "fingerprint": "0b0bb52e35a5cfc8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-799395e483c00f13", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/nonexistent/copies (server/http/objects.integration.test.ts:609)"}, "properties": {"repobilityId": "014329c8acfce09c", "scanner": "scanner-primary", "fingerprint": "799395e483c00f13", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-39c44a1f7f50aa8f", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/nonexistent/status (server/http/objects.integration.test.ts:620)"}, "properties": {"repobilityId": "75cad46897105a1e", "scanner": "scanner-primary", "fingerprint": "39c44a1f7f50aa8f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-49f7b256374881f4", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:632)"}, "properties": {"repobilityId": "7c2425aa112c07d6", "scanner": "scanner-primary", "fingerprint": "49f7b256374881f4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b84d3bc2aae40179", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/m1/copies (server/http/objects.integration.test.ts:651)"}, "properties": {"repobilityId": "30bef1abdba10780", "scanner": "scanner-primary", "fingerprint": "b84d3bc2aae40179", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-535464eb150ac5c5", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:667)"}, "properties": {"repobilityId": "4372b9f067bf464b", "scanner": "scanner-primary", "fingerprint": "535464eb150ac5c5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-33e02d1679685351", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/objects/m1 (server/http/objects.integration.test.ts:672)"}, "properties": {"repobilityId": "fc149d7fdf9a3157", "scanner": "scanner-primary", "fingerprint": "33e02d1679685351", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d1db5c1c66428376", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:688)"}, "properties": {"repobilityId": "df77b0d652d805a7", "scanner": "scanner-primary", "fingerprint": "d1db5c1c66428376", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-75cf2cd70c16c8a6", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/objects/f1 (server/http/objects.integration.test.ts:693)"}, "properties": {"repobilityId": "c6ad28859b848253", "scanner": "scanner-primary", "fingerprint": "75cf2cd70c16c8a6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5edb24a6f42b7c1b", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/nonexistent/status (server/http/objects.integration.test.ts:703)"}, "properties": {"repobilityId": "5ec1c67920c615c1", "scanner": "scanner-primary", "fingerprint": "5edb24a6f42b7c1b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e035b4f0e439ba8b", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:717)"}, "properties": {"repobilityId": "04c082b275d14244", "scanner": "scanner-primary", "fingerprint": "e035b4f0e439ba8b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0012f7d6be45cf35", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/nonexistent/status (server/http/objects.integration.test.ts:730)"}, "properties": {"repobilityId": "fc907566bc9d5630", "scanner": "scanner-primary", "fingerprint": "0012f7d6be45cf35", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-44277434b688b025", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m1/status (server/http/objects.integration.test.ts:745)"}, "properties": {"repobilityId": "6f4e5102ff879905", "scanner": "scanner-primary", "fingerprint": "44277434b688b025", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-50f4bfc494ea61d5", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:762)"}, "properties": {"repobilityId": "11be410974d55123", "scanner": "scanner-primary", "fingerprint": "50f4bfc494ea61d5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cbb999bb435756a6", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/f1/status (server/http/objects.integration.test.ts:776)"}, "properties": {"repobilityId": "4c77b68feb51eb2a", "scanner": "scanner-primary", "fingerprint": "cbb999bb435756a6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d1dbaeba5550d99e", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:782)"}, "properties": {"repobilityId": "07c108aeda6c9799", "scanner": "scanner-primary", "fingerprint": "d1dbaeba5550d99e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b7ab331c706211f9", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:791)"}, "properties": {"repobilityId": "2073247f43d11298", "scanner": "scanner-primary", "fingerprint": "b7ab331c706211f9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bbf90aaf350cc12a", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/m1 (server/http/objects.integration.test.ts:804)"}, "properties": {"repobilityId": "106c02db7bba9184", "scanner": "scanner-primary", "fingerprint": "bbf90aaf350cc12a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4868da6d7fb41ca8", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/m1 (server/http/objects.integration.test.ts:829)"}, "properties": {"repobilityId": "a7da69813492f2b6", "scanner": "scanner-primary", "fingerprint": "4868da6d7fb41ca8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9f94f05f5618648f", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:1039)"}, "properties": {"repobilityId": "6d635dc0d5fcfc37", "scanner": "scanner-primary", "fingerprint": "9f94f05f5618648f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3a151b628ff03913", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:1059)"}, "properties": {"repobilityId": "627f99fbb2301c38", "scanner": "scanner-primary", "fingerprint": "3a151b628ff03913", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c44ebe1d1c05f3f4", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:1078)"}, "properties": {"repobilityId": "7b9fbd2bf1eca5b7", "scanner": "scanner-primary", "fingerprint": "c44ebe1d1c05f3f4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a476a0ca9b7bb7b7", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:1098)"}, "properties": {"repobilityId": "84fc25f59a94c290", "scanner": "scanner-primary", "fingerprint": "a476a0ca9b7bb7b7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0cee9edcdfa078ff", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:1117)"}, "properties": {"repobilityId": "ebb3d331ad1450d2", "scanner": "scanner-primary", "fingerprint": "0cee9edcdfa078ff", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dd34cac271c6d1cc", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/objects/m1 (server/http/objects.integration.test.ts:1136)"}, "properties": {"repobilityId": "6d003ce4b665e7d4", "scanner": "scanner-primary", "fingerprint": "dd34cac271c6d1cc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a4778098b633f75d", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/draft1/status (server/http/objects.integration.test.ts:1157)"}, "properties": {"repobilityId": "c72e19d52a997e0c", "scanner": "scanner-primary", "fingerprint": "a4778098b633f75d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-68e2c5d16dbee161", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/trashed1/status (server/http/objects.integration.test.ts:1176)"}, "properties": {"repobilityId": "4076544b9726f9e1", "scanner": "scanner-primary", "fingerprint": "68e2c5d16dbee161", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2b3d11de3ce8cfc6", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/trashed2/status (server/http/objects.integration.test.ts:1195)"}, "properties": {"repobilityId": "944469dc3d9c881f", "scanner": "scanner-primary", "fingerprint": "2b3d11de3ce8cfc6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-56c3721920d70c99", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/src1/copies (server/http/objects.integration.test.ts:1215)"}, "properties": {"repobilityId": "c7eba8d94f8c27f8", "scanner": "scanner-primary", "fingerprint": "56c3721920d70c99", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8a19df5f6b5c51de", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/src2/copies (server/http/objects.integration.test.ts:1234)"}, "properties": {"repobilityId": "0897b2b33bb81988", "scanner": "scanner-primary", "fingerprint": "8a19df5f6b5c51de", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bbe053f7e5fd5010", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/${id}/transfers (server/http/objects.integration.test.ts:1290)"}, "properties": {"repobilityId": "528dd92abf53d7ce", "scanner": "scanner-primary", "fingerprint": "bbe053f7e5fd5010", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-be11c3ebeb7d76af", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/m-copy-over/copies (server/http/objects.integration.test.ts:1543)"}, "properties": {"repobilityId": "1610cee058296d40", "scanner": "scanner-primary", "fingerprint": "be11c3ebeb7d76af", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0d526389854d2da6", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/m-copy-ok/copies (server/http/objects.integration.test.ts:1562)"}, "properties": {"repobilityId": "bc7e8db81e487c72", "scanner": "scanner-primary", "fingerprint": "0d526389854d2da6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b77beded350b5d8f", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/m-copy-st/copies (server/http/objects.integration.test.ts:1581)"}, "properties": {"repobilityId": "3f8533289841486c", "scanner": "scanner-primary", "fingerprint": "b77beded350b5d8f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1ff3bb6445928fca", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/m-copy-s3-fail/copies (server/http/objects.integration.test.ts:1600)"}, "properties": {"repobilityId": "90dffe0f10947b2a", "scanner": "scanner-primary", "fingerprint": "1ff3bb6445928fca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d799c59f00caada4", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/m-copy-conflict/copies (server/http/objects.integration.test.ts:1621)"}, "properties": {"repobilityId": "e0b90046c5172450", "scanner": "scanner-primary", "fingerprint": "d799c59f00caada4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0ffb933fd7622074", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/m-zero/copies (server/http/objects.integration.test.ts:1648)"}, "properties": {"repobilityId": "02ef12384e6c6166", "scanner": "scanner-primary", "fingerprint": "0ffb933fd7622074", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1b5acc6819e69114", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/m-copy-nolimit/copies (server/http/objects.integration.test.ts:1667)"}, "properties": {"repobilityId": "10dc1af294ac2d1f", "scanner": "scanner-primary", "fingerprint": "1b5acc6819e69114", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2f10e1d8646dc0be", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/m-copy-qlimit/copies (server/http/objects.integration.test.ts:1683)"}, "properties": {"repobilityId": "1b016374d602a415", "scanner": "scanner-primary", "fingerprint": "2f10e1d8646dc0be", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b7c6679f179de4c6", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/nonexistent/copies (server/http/objects.integration.test.ts:1695)"}, "properties": {"repobilityId": "320f77f36b681606", "scanner": "scanner-primary", "fingerprint": "b7c6679f179de4c6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f68b917f4d63c0d6", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m-trash-usage/status (server/http/objects.integration.test.ts:1713)"}, "properties": {"repobilityId": "ba7cb34518f2949d", "scanner": "scanner-primary", "fingerprint": "f68b917f4d63c0d6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1592f18aef5ddf2d", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:1735)"}, "properties": {"repobilityId": "bb95cbf0e9b34617", "scanner": "scanner-primary", "fingerprint": "1592f18aef5ddf2d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-42c1235820104f29", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/trash (server/http/objects.integration.test.ts:1753)"}, "properties": {"repobilityId": "42ceb20db623eb9e", "scanner": "scanner-primary", "fingerprint": "42c1235820104f29", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-63425a8b7798bab9", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/m-download-ok (server/http/objects.integration.test.ts:1777)"}, "properties": {"repobilityId": "1dead77ef2af4961", "scanner": "scanner-primary", "fingerprint": "63425a8b7798bab9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-616217e17f872447", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/m-download-reset (server/http/objects.integration.test.ts:1801)"}, "properties": {"repobilityId": "7a3e82370282f349", "scanner": "scanner-primary", "fingerprint": "616217e17f872447", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ad04982c73e5164a", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/m-download-sign-fail (server/http/objects.integration.test.ts:1826)"}, "properties": {"repobilityId": "55f53ad07c94365b", "scanner": "scanner-primary", "fingerprint": "ad04982c73e5164a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3a18c83e1f4a3f44", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/m-download-over (server/http/objects.integration.test.ts:1863)"}, "properties": {"repobilityId": "1f320a288a27bc11", "scanner": "scanner-primary", "fingerprint": "3a18c83e1f4a3f44", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ce8e5f135fdae6fd", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m-done/status (server/http/objects.integration.test.ts:1887)"}, "properties": {"repobilityId": "6ac282fda63e955b", "scanner": "scanner-primary", "fingerprint": "ce8e5f135fdae6fd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-44f342d4229a9ace", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m-done-entitlement/status (server/http/objects.integration.test.ts:1910)"}, "properties": {"repobilityId": "b81788a9d67dd4dc", "scanner": "scanner-primary", "fingerprint": "44f342d4229a9ace", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5eee8da3bf283995", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m-done-zero-base-entitlement/status (server/http/objects.integration.test.ts:1938)"}, "properties": {"repobilityId": "749b00e023cc0194", "scanner": "scanner-primary", "fingerprint": "5eee8da3bf283995", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-54d0b6fdb41de9f0", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m-done2/status (server/http/objects.integration.test.ts:1956)"}, "properties": {"repobilityId": "21f89e477771d208", "scanner": "scanner-primary", "fingerprint": "54d0b6fdb41de9f0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-50188adfd9f4ec3f", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m-done-quota/status (server/http/objects.integration.test.ts:1976)"}, "properties": {"repobilityId": "ddc600ffb9e87321", "scanner": "scanner-primary", "fingerprint": "50188adfd9f4ec3f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fc92fa4286c36293", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m-done3/status (server/http/objects.integration.test.ts:1994)"}, "properties": {"repobilityId": "c92d56ea51d3d00b", "scanner": "scanner-primary", "fingerprint": "fc92fa4286c36293", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-59255b6af8ccbb69", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/m-done-nolimit/status (server/http/objects.integration.test.ts:2014)"}, "properties": {"repobilityId": "35fdc590b689bd26", "scanner": "scanner-primary", "fingerprint": "59255b6af8ccbb69", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ebb3cba8ef059953", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:2034)"}, "properties": {"repobilityId": "6e3d694c99a118ce", "scanner": "scanner-primary", "fingerprint": "ebb3cba8ef059953", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3c9a3a6af83ec5ac", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/${draft.id}/status (server/http/objects.integration.test.ts:2050)"}, "properties": {"repobilityId": "b6ca271c36ced43d", "scanner": "scanner-primary", "fingerprint": "3c9a3a6af83ec5ac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-891feaf333f25575", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/objects.integration.test.ts:2207)"}, "properties": {"repobilityId": "24af274c5afdaad4", "scanner": "scanner-primary", "fingerprint": "891feaf333f25575", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a52b831eede5e12c", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/${object.id}/uploads (server/http/objects.integration.test.ts:2220)"}, "properties": {"repobilityId": "61cfdb6b9a399acd", "scanner": "scanner-primary", "fingerprint": "a52b831eede5e12c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-53f350f6a6618f8c", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/${object.id}/uploads/${session.id}/parts (server/http/objects.integration.test.ts:2229)"}, "properties": {"repobilityId": "c02277ea80c00ba0", "scanner": "scanner-primary", "fingerprint": "53f350f6a6618f8c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cc1564d17605e2f3", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/${object.id}/uploads/${session.id}/status (server/http/objects.integration.test.ts:2243)"}, "properties": {"repobilityId": "5e80c15941b4153a", "scanner": "scanner-primary", "fingerprint": "cc1564d17605e2f3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6229f346f5cd2c6d", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/${object.id}/status (server/http/objects.integration.test.ts:2250)"}, "properties": {"repobilityId": "362522c4000c5b38", "scanner": "scanner-primary", "fingerprint": "6229f346f5cd2c6d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0df2e4ace424e3c0", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/${object.id} (server/http/objects.integration.test.ts:2257)"}, "properties": {"repobilityId": "af42ab438398b39f", "scanner": "scanner-primary", "fingerprint": "0df2e4ace424e3c0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4c73750c6698c8f5", "level": "error", "message": {"text": "Dangling fetch: POST /api/background-jobs (server/http/background-jobs.integration.test.ts:73)"}, "properties": {"repobilityId": "0cc3936ecb710e3e", "scanner": "scanner-primary", "fingerprint": "4c73750c6698c8f5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4f9c2841697e9254", "level": "error", "message": {"text": "Dangling fetch: POST /api/background-jobs (server/http/background-jobs.integration.test.ts:136)"}, "properties": {"repobilityId": "c53d4551f741162e", "scanner": "scanner-primary", "fingerprint": "4f9c2841697e9254", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a5d69ccda128102c", "level": "error", "message": {"text": "Dangling fetch: POST /api/background-jobs (server/http/background-jobs.integration.test.ts:167)"}, "properties": {"repobilityId": "89cc91cdb4ca77d5", "scanner": "scanner-primary", "fingerprint": "a5d69ccda128102c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-17c111927e79897a", "level": "error", "message": {"text": "Dangling fetch: POST /api/background-jobs (server/http/background-jobs.integration.test.ts:205)"}, "properties": {"repobilityId": "2290c2d8624f33cd", "scanner": "scanner-primary", "fingerprint": "17c111927e79897a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-38790120432082ad", "level": "error", "message": {"text": "Dangling fetch: GET /api/background-jobs?status=running&type=archive_extract&page=1&pageSize=1 (server/http/background-jobs.integration.test.ts:236)"}, "properties": {"repobilityId": "d1a7adcf89af8a91", "scanner": "scanner-primary", "fingerprint": "38790120432082ad", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e382c252885d29eb", "level": "error", "message": {"text": "Dangling fetch: GET /api/background-jobs/${job.id} (server/http/background-jobs.integration.test.ts:260)"}, "properties": {"repobilityId": "9d0fb7019ce270f6", "scanner": "scanner-primary", "fingerprint": "e382c252885d29eb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-efc7a459e27cf7e4", "level": "error", "message": {"text": "Dangling fetch: PUT /api/background-jobs/${queued.id}/status (server/http/background-jobs.integration.test.ts:274)"}, "properties": {"repobilityId": "1c73354e1e437273", "scanner": "scanner-primary", "fingerprint": "efc7a459e27cf7e4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8e44261636422cd3", "level": "error", "message": {"text": "Dangling fetch: PUT /api/background-jobs/${completed.id}/status (server/http/background-jobs.integration.test.ts:279)"}, "properties": {"repobilityId": "b0e84b3ccad3efd9", "scanner": "scanner-primary", "fingerprint": "8e44261636422cd3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6d6d5c8688ee6609", "level": "error", "message": {"text": "Dangling fetch: POST /api/background-jobs/${retryable.id}/retries (server/http/background-jobs.integration.test.ts:314)"}, "properties": {"repobilityId": "eec023f90cf26a92", "scanner": "scanner-primary", "fingerprint": "6d6d5c8688ee6609", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-888f6db1290a385d", "level": "error", "message": {"text": "Dangling fetch: POST /api/background-jobs/${notFailed.id}/retries (server/http/background-jobs.integration.test.ts:315)"}, "properties": {"repobilityId": "cc10fad87faa99b6", "scanner": "scanner-primary", "fingerprint": "888f6db1290a385d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-db407fdfc858bb33", "level": "error", "message": {"text": "Dangling fetch: GET /api/background-jobs/${job.id} (server/http/background-jobs.integration.test.ts:338)"}, "properties": {"repobilityId": "10140c4102d3efdc", "scanner": "scanner-primary", "fingerprint": "db407fdfc858bb33", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c760dd92563ccba6", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/teams.integration.test.ts:47)"}, "properties": {"repobilityId": "b4f5a5149ca09796", "scanner": "scanner-primary", "fingerprint": "c760dd92563ccba6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-894da4059aca6b61", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/invite-links/invalid (server/http/teams.integration.test.ts:62)"}, "properties": {"repobilityId": "10e70d64c8a741a6", "scanner": "scanner-primary", "fingerprint": "894da4059aca6b61", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8a70c056300b0623", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/invite-links/${link.token} (server/http/teams.integration.test.ts:72)"}, "properties": {"repobilityId": "e294a0a5cedc36f9", "scanner": "scanner-primary", "fingerprint": "8a70c056300b0623", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-36ab23d40021918d", "level": "error", "message": {"text": "Dangling fetch: POST /api/teams/some-org/invite-links (server/http/teams.integration.test.ts:85)"}, "properties": {"repobilityId": "3c4d0b906b1a6c97", "scanner": "scanner-primary", "fingerprint": "36ab23d40021918d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dea072cdc2205a8d", "level": "error", "message": {"text": "Dangling fetch: POST /api/teams/${orgId}/invite-links (server/http/teams.integration.test.ts:101)"}, "properties": {"repobilityId": "93b656ba08b96b4f", "scanner": "scanner-primary", "fingerprint": "dea072cdc2205a8d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d0725b47725ea57f", "level": "error", "message": {"text": "Dangling fetch: POST /api/teams/${orgId}/invite-links (server/http/teams.integration.test.ts:117)"}, "properties": {"repobilityId": "ae9e3d599b6cce38", "scanner": "scanner-primary", "fingerprint": "d0725b47725ea57f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-44cbda8a53ed82a6", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/some-org/invitations (server/http/teams.integration.test.ts:134)"}, "properties": {"repobilityId": "e747598276f03e4a", "scanner": "scanner-primary", "fingerprint": "44cbda8a53ed82a6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-34bfa9328124ba0f", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/invitations (server/http/teams.integration.test.ts:146)"}, "properties": {"repobilityId": "23b254cddd9442c9", "scanner": "scanner-primary", "fingerprint": "34bfa9328124ba0f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1372754981d1cf61", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/invitations (server/http/teams.integration.test.ts:158)"}, "properties": {"repobilityId": "ab5720f6eb6c010a", "scanner": "scanner-primary", "fingerprint": "1372754981d1cf61", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a3e4e0580bc68da7", "level": "error", "message": {"text": "Dangling fetch: POST /api/teams/some-team/members (server/http/teams.integration.test.ts:170)"}, "properties": {"repobilityId": "9a97f3b1fb1e1796", "scanner": "scanner-primary", "fingerprint": "a3e4e0580bc68da7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4f3d59b9d53b9718", "level": "error", "message": {"text": "Dangling fetch: POST /api/teams/some-team/members (server/http/teams.integration.test.ts:183)"}, "properties": {"repobilityId": "88ba83f7d8e9cdce", "scanner": "scanner-primary", "fingerprint": "4f3d59b9d53b9718", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dd668d24d68e6fae", "level": "error", "message": {"text": "Dangling fetch: POST /api/teams/${orgId}/members (server/http/teams.integration.test.ts:200)"}, "properties": {"repobilityId": "aa73a5e2088da968", "scanner": "scanner-primary", "fingerprint": "dd668d24d68e6fae", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9bca004efdc7dc69", "level": "error", "message": {"text": "Dangling fetch: POST /api/teams/${orgId}/members (server/http/teams.integration.test.ts:218)"}, "properties": {"repobilityId": "06a075e2336d9d26", "scanner": "scanner-primary", "fingerprint": "9bca004efdc7dc69", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2861d721a07d5585", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/some-id/activity (server/http/teams.integration.test.ts:280)"}, "properties": {"repobilityId": "578f3cace9952528", "scanner": "scanner-primary", "fingerprint": "2861d721a07d5585", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1bea2a4a8d839c38", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/team-org-1/activity (server/http/teams.integration.test.ts:310)"}, "properties": {"repobilityId": "977b4cd6a672cf8e", "scanner": "scanner-primary", "fingerprint": "1bea2a4a8d839c38", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-92ca501f79e4ff8d", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:319)"}, "properties": {"repobilityId": "4a8e67266f3abde0", "scanner": "scanner-primary", "fingerprint": "92ca501f79e4ff8d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8bfb2073c83785b7", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId1}/activity (server/http/teams.integration.test.ts:339)"}, "properties": {"repobilityId": "11bf739c66f36c45", "scanner": "scanner-primary", "fingerprint": "8bfb2073c83785b7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ae41debffcfea2a0", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/team-org-2/activity (server/http/teams.integration.test.ts:356)"}, "properties": {"repobilityId": "23478061d03f7f27", "scanner": "scanner-primary", "fingerprint": "ae41debffcfea2a0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9b27709673aeab48", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:369)"}, "properties": {"repobilityId": "5763bf64316c3984", "scanner": "scanner-primary", "fingerprint": "9b27709673aeab48", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-aac145609de29d1e", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:384)"}, "properties": {"repobilityId": "980b050001daf8c3", "scanner": "scanner-primary", "fingerprint": "aac145609de29d1e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c0351e92ffae3fa8", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:413)"}, "properties": {"repobilityId": "378387e0c0c0a9a8", "scanner": "scanner-primary", "fingerprint": "c0351e92ffae3fa8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6bfc790e77edeb66", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:442)"}, "properties": {"repobilityId": "11c33fd09f03d28e", "scanner": "scanner-primary", "fingerprint": "6bfc790e77edeb66", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e2d336b9e65b2347", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:456)"}, "properties": {"repobilityId": "b33d09b21347de45", "scanner": "scanner-primary", "fingerprint": "e2d336b9e65b2347", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-43c4994a69e4d48b", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity?page=2&pageSize=5 (server/http/teams.integration.test.ts:467)"}, "properties": {"repobilityId": "d6332e84b3bb44e1", "scanner": "scanner-primary", "fingerprint": "43c4994a69e4d48b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7033c8844affc0b3", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity?page=1&pageSize=3 (server/http/teams.integration.test.ts:484)"}, "properties": {"repobilityId": "f45766121c5b1597", "scanner": "scanner-primary", "fingerprint": "7033c8844affc0b3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e32308e6a7f85b64", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity?page=2&pageSize=3 (server/http/teams.integration.test.ts:508)"}, "properties": {"repobilityId": "2f4e1591d10131dd", "scanner": "scanner-primary", "fingerprint": "e32308e6a7f85b64", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f6f5ebc2a73ba18d", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity?page=99&pageSize=20 (server/http/teams.integration.test.ts:522)"}, "properties": {"repobilityId": "5073c594289bd86c", "scanner": "scanner-primary", "fingerprint": "f6f5ebc2a73ba18d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7c07522e1fcf721b", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:542)"}, "properties": {"repobilityId": "e4968a0bba347849", "scanner": "scanner-primary", "fingerprint": "7c07522e1fcf721b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-67b38c0ce955ba62", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:565)"}, "properties": {"repobilityId": "35d103248ed928a0", "scanner": "scanner-primary", "fingerprint": "67b38c0ce955ba62", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-46f29da4fa205b29", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:578)"}, "properties": {"repobilityId": "37bfab2e6303d03f", "scanner": "scanner-primary", "fingerprint": "46f29da4fa205b29", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c0b5e47efd82809b", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId1}/activity (server/http/teams.integration.test.ts:622)"}, "properties": {"repobilityId": "5b052150f0999aeb", "scanner": "scanner-primary", "fingerprint": "c0b5e47efd82809b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4adc04f24c72ebdc", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${orgId}/activity (server/http/teams.integration.test.ts:645)"}, "properties": {"repobilityId": "75c045f8f922610e", "scanner": "scanner-primary", "fingerprint": "4adc04f24c72ebdc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-10455427291b48b3", "level": "error", "message": {"text": "Dangling fetch: PUT /api/teams/some-org/logo (server/http/teams.integration.test.ts:682)"}, "properties": {"repobilityId": "2a68888ccbdafdc7", "scanner": "scanner-primary", "fingerprint": "10455427291b48b3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-28793a944a050876", "level": "error", "message": {"text": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:695)"}, "properties": {"repobilityId": "6ba2e56e129c7ddb", "scanner": "scanner-primary", "fingerprint": "28793a944a050876", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-792f663fe29f54ed", "level": "error", "message": {"text": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:708)"}, "properties": {"repobilityId": "48706f8bfd0fcedf", "scanner": "scanner-primary", "fingerprint": "792f663fe29f54ed", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b11a229d9c36d44d", "level": "error", "message": {"text": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:721)"}, "properties": {"repobilityId": "c7f3daddee5cbf99", "scanner": "scanner-primary", "fingerprint": "b11a229d9c36d44d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4cb9493be8fdfbf7", "level": "error", "message": {"text": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:733)"}, "properties": {"repobilityId": "7b96ac7bc78e512a", "scanner": "scanner-primary", "fingerprint": "4cb9493be8fdfbf7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-23927bc3466cae78", "level": "error", "message": {"text": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:746)"}, "properties": {"repobilityId": "404c209a3d1a8848", "scanner": "scanner-primary", "fingerprint": "23927bc3466cae78", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dc5d2501534c7eed", "level": "error", "message": {"text": "Dangling fetch: PUT /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:766)"}, "properties": {"repobilityId": "8d53c3305d4afb6e", "scanner": "scanner-primary", "fingerprint": "dc5d2501534c7eed", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a999be68c87b9e33", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/teams/some-org/logo (server/http/teams.integration.test.ts:779)"}, "properties": {"repobilityId": "465e1e3e5bdb42ca", "scanner": "scanner-primary", "fingerprint": "a999be68c87b9e33", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-06aab3dbb9b2c878", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:789)"}, "properties": {"repobilityId": "4ec02d7882553bb5", "scanner": "scanner-primary", "fingerprint": "06aab3dbb9b2c878", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-944fa8873863be79", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:802)"}, "properties": {"repobilityId": "4146bb646f31fe81", "scanner": "scanner-primary", "fingerprint": "944fa8873863be79", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2a015152441c320f", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/teams/${orgId}/logo (server/http/teams.integration.test.ts:817)"}, "properties": {"repobilityId": "840f7aa623c8d8bc", "scanner": "scanner-primary", "fingerprint": "2a015152441c320f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-12aa7593e09f13de", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams (server/http/teams.integration.test.ts:875)"}, "properties": {"repobilityId": "b23768cb3c599e27", "scanner": "scanner-primary", "fingerprint": "12aa7593e09f13de", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-986f4ee9cf972fac", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams (server/http/teams.integration.test.ts:887)"}, "properties": {"repobilityId": "756228547f4d6503", "scanner": "scanner-primary", "fingerprint": "986f4ee9cf972fac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1f9350dfddcc018a", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams (server/http/teams.integration.test.ts:898)"}, "properties": {"repobilityId": "3093c0fb10961ee9", "scanner": "scanner-primary", "fingerprint": "1f9350dfddcc018a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a319321d4cda58fd", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/team-x (server/http/teams.integration.test.ts:922)"}, "properties": {"repobilityId": "f58b7a3073a7ff60", "scanner": "scanner-primary", "fingerprint": "a319321d4cda58fd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-00320f02e655abb4", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/nope (server/http/teams.integration.test.ts:934)"}, "properties": {"repobilityId": "e797106f5613cf7d", "scanner": "scanner-primary", "fingerprint": "00320f02e655abb4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2767d186cf01d306", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/${personalOrg[0].id} (server/http/teams.integration.test.ts:940)"}, "properties": {"repobilityId": "a167c06d430ddc8f", "scanner": "scanner-primary", "fingerprint": "2767d186cf01d306", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-317c8ee31b98046f", "level": "error", "message": {"text": "Dangling fetch: POST /api/teams/team-q1/entitlements (server/http/teams.integration.test.ts:951)"}, "properties": {"repobilityId": "8f148abcb897e9bd", "scanner": "scanner-primary", "fingerprint": "317c8ee31b98046f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-29e790b17af263fb", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/team-q1/entitlements (server/http/teams.integration.test.ts:961)"}, "properties": {"repobilityId": "d2c5696b57eb83d7", "scanner": "scanner-primary", "fingerprint": "29e790b17af263fb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6d1dd2df9fe88dd6", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas (server/http/teams.integration.test.ts:968)"}, "properties": {"repobilityId": "2ea6a8ff84ff0daf", "scanner": "scanner-primary", "fingerprint": "6d1dd2df9fe88dd6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-77f9e71ee0c67021", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/teams/team-q1/entitlements/${granted.entitlement.id} (server/http/teams.integration.test.ts:972)"}, "properties": {"repobilityId": "229b9fafb7df5744", "scanner": "scanner-primary", "fingerprint": "77f9e71ee0c67021", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b82519cef2375a32", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/team-q1/entitlements (server/http/teams.integration.test.ts:977)"}, "properties": {"repobilityId": "c7c19c7376814c55", "scanner": "scanner-primary", "fingerprint": "b82519cef2375a32", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e9ed4f9bc9f28a36", "level": "error", "message": {"text": "Dangling fetch: POST /api/teams/team-q2/entitlements (server/http/teams.integration.test.ts:987)"}, "properties": {"repobilityId": "58ba301cd12b1b83", "scanner": "scanner-primary", "fingerprint": "e9ed4f9bc9f28a36", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5b2b919be0e72802", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/teams/team-q2/entitlements/${granted.entitlement.id} (server/http/teams.integration.test.ts:994)"}, "properties": {"repobilityId": "42b327a5d9b380ee", "scanner": "scanner-primary", "fingerprint": "5b2b919be0e72802", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3073fbf959f7b24a", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/no-such-org/entitlements (server/http/teams.integration.test.ts:1007)"}, "properties": {"repobilityId": "14616c0603029643", "scanner": "scanner-primary", "fingerprint": "3073fbf959f7b24a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b417cd3f135140c5", "level": "error", "message": {"text": "Dangling fetch: GET /api/teams/no-such-org/entitlements (server/http/teams.integration.test.ts:1017)"}, "properties": {"repobilityId": "97ac0b314207fde1", "scanner": "scanner-primary", "fingerprint": "b417cd3f135140c5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0b39eca5c4d34500", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares (server/http/shares.integration.test.ts:81)"}, "properties": {"repobilityId": "4523f2c2487a2759", "scanner": "scanner-primary", "fingerprint": "0b39eca5c4d34500", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4a40d8633251f7c6", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares (server/http/shares.integration.test.ts:98)"}, "properties": {"repobilityId": "b48a6afb3138ddd1", "scanner": "scanner-primary", "fingerprint": "4a40d8633251f7c6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0b9b09d4676cfe68", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares (server/http/shares.integration.test.ts:316)"}, "properties": {"repobilityId": "8ff637fe49a46d4e", "scanner": "scanner-primary", "fingerprint": "0b9b09d4676cfe68", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ad079e554a38207b", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares (server/http/shares.integration.test.ts:332)"}, "properties": {"repobilityId": "287e48de6dca1577", "scanner": "scanner-primary", "fingerprint": "ad079e554a38207b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4d4e0c58f6e2ec61", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares?page=1&pageSize=1 (server/http/shares.integration.test.ts:351)"}, "properties": {"repobilityId": "769b3d65a5f179e1", "scanner": "scanner-primary", "fingerprint": "4d4e0c58f6e2ec61", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d7bc0ffe8a444d83", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares (server/http/shares.integration.test.ts:373)"}, "properties": {"repobilityId": "bdb3d2585344621c", "scanner": "scanner-primary", "fingerprint": "d7bc0ffe8a444d83", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8dc2d0e1ca53b5e3", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares (server/http/shares.integration.test.ts:394)"}, "properties": {"repobilityId": "c84aa00a5e8bb0ba", "scanner": "scanner-primary", "fingerprint": "8dc2d0e1ca53b5e3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e056c85acc9dd70b", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/shares/${body2.token} (server/http/shares.integration.test.ts:421)"}, "properties": {"repobilityId": "6985301f2119252b", "scanner": "scanner-primary", "fingerprint": "e056c85acc9dd70b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a5828a5724e57dce", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares?status=active (server/http/shares.integration.test.ts:423)"}, "properties": {"repobilityId": "ba33e8c087cbc78c", "scanner": "scanner-primary", "fingerprint": "a5828a5724e57dce", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6c8185aac6e05fb3", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares?status=revoked (server/http/shares.integration.test.ts:427)"}, "properties": {"repobilityId": "c311a7c8648f4a48", "scanner": "scanner-primary", "fingerprint": "6c8185aac6e05fb3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-71b0ac9b9dc681f3", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:454)"}, "properties": {"repobilityId": "07b8bdaa74eb6b47", "scanner": "scanner-primary", "fingerprint": "71b0ac9b9dc681f3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2f59ced89912f53e", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:480)"}, "properties": {"repobilityId": "0b4378c148cbba4e", "scanner": "scanner-primary", "fingerprint": "2f59ced89912f53e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f58e0e4cef91794a", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/does-not-exist (server/http/shares.integration.test.ts:494)"}, "properties": {"repobilityId": "bef0b42680309bad", "scanner": "scanner-primary", "fingerprint": "f58e0e4cef91794a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a0388d5e32c476ca", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:509)"}, "properties": {"repobilityId": "0a730459555d340f", "scanner": "scanner-primary", "fingerprint": "a0388d5e32c476ca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0aa995e9607e27e0", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:523)"}, "properties": {"repobilityId": "db6144c4db144612", "scanner": "scanner-primary", "fingerprint": "0aa995e9607e27e0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-191188300cdcab03", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:544)"}, "properties": {"repobilityId": "a39b43a57a68f4bd", "scanner": "scanner-primary", "fingerprint": "191188300cdcab03", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2e41497b42faa472", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:545)"}, "properties": {"repobilityId": "547cea178ee0fd4d", "scanner": "scanner-primary", "fingerprint": "2e41497b42faa472", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-728ff177edf73f13", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/nonexistent-token/objects (server/http/shares.integration.test.ts:566)"}, "properties": {"repobilityId": "c4c52c17b0e2df67", "scanner": "scanner-primary", "fingerprint": "728ff177edf73f13", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bd97ec99d4611ef2", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:584)"}, "properties": {"repobilityId": "43589e3c075d552f", "scanner": "scanner-primary", "fingerprint": "bd97ec99d4611ef2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e12e4ab7060f6bef", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:607)"}, "properties": {"repobilityId": "d573cbc4feb1531c", "scanner": "scanner-primary", "fingerprint": "e12e4ab7060f6bef", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5acdc1de0132fe29", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:625)"}, "properties": {"repobilityId": "85ab11cce0dc0f55", "scanner": "scanner-primary", "fingerprint": "5acdc1de0132fe29", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-be38354b4e42c89e", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/sometoken/objects (server/http/shares.integration.test.ts:635)"}, "properties": {"repobilityId": "34397cd38e6289b5", "scanner": "scanner-primary", "fingerprint": "be38354b4e42c89e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-74df8cd134056509", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:657)"}, "properties": {"repobilityId": "9b23aad255060f62", "scanner": "scanner-primary", "fingerprint": "74df8cd134056509", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1f5db6b22ff8c26b", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:684)"}, "properties": {"repobilityId": "0f73ad4c36e43e0a", "scanner": "scanner-primary", "fingerprint": "1f5db6b22ff8c26b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-daaf98ec357f426d", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:708)"}, "properties": {"repobilityId": "3c669b0eadcbaf15", "scanner": "scanner-primary", "fingerprint": "daaf98ec357f426d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a7f64c96dd4f865f", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/shares.integration.test.ts:724)"}, "properties": {"repobilityId": "7d62d08d3e7d8764", "scanner": "scanner-primary", "fingerprint": "a7f64c96dd4f865f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-796c3491db3b9f81", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:744)"}, "properties": {"repobilityId": "869b891f7d72fc6b", "scanner": "scanner-primary", "fingerprint": "796c3491db3b9f81", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0cd39fb499f12ccb", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:767)"}, "properties": {"repobilityId": "f7a0547de6039d0a", "scanner": "scanner-primary", "fingerprint": "0cd39fb499f12ccb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c171a4ba22e66bdd", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:791)"}, "properties": {"repobilityId": "18960a034a826d9a", "scanner": "scanner-primary", "fingerprint": "c171a4ba22e66bdd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3445e1e8b7d9564d", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:815)"}, "properties": {"repobilityId": "3d227e601fde59ef", "scanner": "scanner-primary", "fingerprint": "3445e1e8b7d9564d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-af7b5109437bbcd5", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/shares.integration.test.ts:834)"}, "properties": {"repobilityId": "d27e2ce37bf5bb58", "scanner": "scanner-primary", "fingerprint": "af7b5109437bbcd5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-72ecf3fdfab9e2be", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${token}/objects (server/http/shares.integration.test.ts:853)"}, "properties": {"repobilityId": "e0d101f0ea99772f", "scanner": "scanner-primary", "fingerprint": "72ecf3fdfab9e2be", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2afcc11e5c834a92", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/shares/some-token (server/http/shares.integration.test.ts:867)"}, "properties": {"repobilityId": "71512806a0442b08", "scanner": "scanner-primary", "fingerprint": "2afcc11e5c834a92", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0580885b23fac19c", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/shares/${token} (server/http/shares.integration.test.ts:887)"}, "properties": {"repobilityId": "0a57d882e31f5cbf", "scanner": "scanner-primary", "fingerprint": "0580885b23fac19c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b502c6368d2cdb5f", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/shares/${token} (server/http/shares.integration.test.ts:906)"}, "properties": {"repobilityId": "64ed085cdc2a381b", "scanner": "scanner-primary", "fingerprint": "b502c6368d2cdb5f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-da16205fffa1deac", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/shares/does-not-exist (server/http/shares.integration.test.ts:914)"}, "properties": {"repobilityId": "61514ec8a208fa63", "scanner": "scanner-primary", "fingerprint": "da16205fffa1deac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7459282982b2990c", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares?box=received (server/http/shares.integration.test.ts:953)"}, "properties": {"repobilityId": "dcee5b312728b938", "scanner": "scanner-primary", "fingerprint": "7459282982b2990c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dc346b5a4c63d881", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares?box=received (server/http/shares.integration.test.ts:963)"}, "properties": {"repobilityId": "4cc8b1e0b2d8a756", "scanner": "scanner-primary", "fingerprint": "dc346b5a4c63d881", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d5ed6ac4356b7233", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/shares/${token} (server/http/shares.integration.test.ts:983)"}, "properties": {"repobilityId": "a7e6683bc7787ec0", "scanner": "scanner-primary", "fingerprint": "d5ed6ac4356b7233", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-92f56a9c80b1293a", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares?box=received (server/http/shares.integration.test.ts:986)"}, "properties": {"repobilityId": "ee1dbe5e25e2ef5b", "scanner": "scanner-primary", "fingerprint": "92f56a9c80b1293a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-99b5e65528d9aaca", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${token} (server/http/shares.integration.test.ts:1075)"}, "properties": {"repobilityId": "fcbaa34f4e81a659", "scanner": "scanner-primary", "fingerprint": "99b5e65528d9aaca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-899a6e78658a1204", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/unknown-token (server/http/shares.integration.test.ts:1085)"}, "properties": {"repobilityId": "c925123f0cefb4b2", "scanner": "scanner-primary", "fingerprint": "899a6e78658a1204", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e44cc778520eec54", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1100)"}, "properties": {"repobilityId": "449e3642846dbac9", "scanner": "scanner-primary", "fingerprint": "e44cc778520eec54", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e7727cadece21d6b", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1129)"}, "properties": {"repobilityId": "85d46a41193dd642", "scanner": "scanner-primary", "fingerprint": "e7727cadece21d6b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-22862e7f3bed231b", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1145)"}, "properties": {"repobilityId": "fb3f0071aef8f7c5", "scanner": "scanner-primary", "fingerprint": "22862e7f3bed231b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d7a62ee7a2b48f46", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1150)"}, "properties": {"repobilityId": "02cad02ce4c46e29", "scanner": "scanner-primary", "fingerprint": "d7a62ee7a2b48f46", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-15258602141cc698", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1168)"}, "properties": {"repobilityId": "294189a27b820d0a", "scanner": "scanner-primary", "fingerprint": "15258602141cc698", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-54812e7cc9a480b2", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/token-trash (server/http/shares.integration.test.ts:1185)"}, "properties": {"repobilityId": "02e9429131d64ba5", "scanner": "scanner-primary", "fingerprint": "54812e7cc9a480b2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a1e970e531ab3b97", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1199)"}, "properties": {"repobilityId": "fce48061f31f94fc", "scanner": "scanner-primary", "fingerprint": "a1e970e531ab3b97", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8f96eedd06112e6a", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1218)"}, "properties": {"repobilityId": "0640abc384ecc8d2", "scanner": "scanner-primary", "fingerprint": "8f96eedd06112e6a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ec8318ce32598cfb", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1240)"}, "properties": {"repobilityId": "8bc2595844ca25de", "scanner": "scanner-primary", "fingerprint": "ec8318ce32598cfb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5f915fdb347d2504", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${share.token}/sessions (server/http/shares.integration.test.ts:1265)"}, "properties": {"repobilityId": "a52d2a7484f71850", "scanner": "scanner-primary", "fingerprint": "5f915fdb347d2504", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4ed4f602e3c467ee", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${share.token}/sessions (server/http/shares.integration.test.ts:1292)"}, "properties": {"repobilityId": "656a56a5e70b8fbe", "scanner": "scanner-primary", "fingerprint": "4ed4f602e3c467ee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ebae00495416c294", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1320)"}, "properties": {"repobilityId": "da0c280cff00e56d", "scanner": "scanner-primary", "fingerprint": "ebae00495416c294", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-abdbe20edf1ff134", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/shares.integration.test.ts:1341)"}, "properties": {"repobilityId": "55537369d5987f09", "scanner": "scanner-primary", "fingerprint": "abdbe20edf1ff134", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cd7250da2890ba82", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/shares.integration.test.ts:1366)"}, "properties": {"repobilityId": "89929d06be16bd4a", "scanner": "scanner-primary", "fingerprint": "cd7250da2890ba82", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-353e451cbae0d51c", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/shares.integration.test.ts:1394)"}, "properties": {"repobilityId": "d13c9a102829b247", "scanner": "scanner-primary", "fingerprint": "353e451cbae0d51c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-71544ea4c34ad81b", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/shares.integration.test.ts:1431)"}, "properties": {"repobilityId": "d6513b98d69eccdf", "scanner": "scanner-primary", "fingerprint": "71544ea4c34ad81b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8ae90a6db680900d", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1459)"}, "properties": {"repobilityId": "a5b111e8b171cdbe", "scanner": "scanner-primary", "fingerprint": "8ae90a6db680900d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-142a30f26d4379fb", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1479)"}, "properties": {"repobilityId": "19252dea8807c8bc", "scanner": "scanner-primary", "fingerprint": "142a30f26d4379fb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-66e8a7889c185bd4", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1503)"}, "properties": {"repobilityId": "7f1aab4313ed05d5", "scanner": "scanner-primary", "fingerprint": "66e8a7889c185bd4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0aea835910a97c57", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1527)"}, "properties": {"repobilityId": "accfb6dc53f4bbd6", "scanner": "scanner-primary", "fingerprint": "0aea835910a97c57", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9c5480e55b49d5bc", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef} (server/http/shares.integration.test.ts:1551)"}, "properties": {"repobilityId": "18a905a11c135407", "scanner": "scanner-primary", "fingerprint": "9c5480e55b49d5bc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a3ddad780d557f6f", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/no-such-token/objects (server/http/shares.integration.test.ts:1561)"}, "properties": {"repobilityId": "01f1cbb3c442ed4c", "scanner": "scanner-primary", "fingerprint": "a3ddad780d557f6f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a2e034cc5bd5c197", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/token-trash-ch/objects (server/http/shares.integration.test.ts:1577)"}, "properties": {"repobilityId": "cdbc3b8a6d87a142", "scanner": "scanner-primary", "fingerprint": "a2e034cc5bd5c197", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0190090805e36649", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects (server/http/shares.integration.test.ts:1590)"}, "properties": {"repobilityId": "97b53dc8634907f6", "scanner": "scanner-primary", "fingerprint": "0190090805e36649", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cffa06135d45e771", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects (server/http/shares.integration.test.ts:1605)"}, "properties": {"repobilityId": "73dbbc82c4b3da1d", "scanner": "scanner-primary", "fingerprint": "cffa06135d45e771", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-86236825a5a1dacb", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects?parent=Reports (server/http/shares.integration.test.ts:1633)"}, "properties": {"repobilityId": "08d513effbd1ed2a", "scanner": "scanner-primary", "fingerprint": "86236825a5a1dacb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0328a346f50b9567", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects (server/http/shares.integration.test.ts:1662)"}, "properties": {"repobilityId": "9e12aa6e408d04bb", "scanner": "scanner-primary", "fingerprint": "0328a346f50b9567", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c2a3bdbd6d205e53", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects?parent=../etc (server/http/shares.integration.test.ts:1675)"}, "properties": {"repobilityId": "77c3240723f850d3", "scanner": "scanner-primary", "fingerprint": "c2a3bdbd6d205e53", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7a6959cafe97b740", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects?page=2&pageSize=10 (server/http/shares.integration.test.ts:1690)"}, "properties": {"repobilityId": "2f04b9129fb1335b", "scanner": "scanner-primary", "fingerprint": "7a6959cafe97b740", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a6913a98db878598", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects?page=abc&pageSize=xyz (server/http/shares.integration.test.ts:1706)"}, "properties": {"repobilityId": "8e6ca39ff0c10981", "scanner": "scanner-primary", "fingerprint": "a6913a98db878598", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d53d1d53002f2ae3", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects (server/http/shares.integration.test.ts:1727)"}, "properties": {"repobilityId": "fb03d3c1b9b6d320", "scanner": "scanner-primary", "fingerprint": "d53d1d53002f2ae3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-93b0a53b1ef7db7f", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${ref} (server/http/shares.integration.test.ts:1731)"}, "properties": {"repobilityId": "5d61981a6293be75", "scanner": "scanner-primary", "fingerprint": "93b0a53b1ef7db7f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3471b7417b586402", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/invalid-ref (server/http/shares.integration.test.ts:1746)"}, "properties": {"repobilityId": "decbaaf867951f6a", "scanner": "scanner-primary", "fingerprint": "3471b7417b586402", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4440bccd83a8e138", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${fakeRef} (server/http/shares.integration.test.ts:1764)"}, "properties": {"repobilityId": "d65d8993cc00456b", "scanner": "scanner-primary", "fingerprint": "4440bccd83a8e138", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-66245dcdeab7cb60", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/shares.integration.test.ts:1781)"}, "properties": {"repobilityId": "42a9cf3e066d4535", "scanner": "scanner-primary", "fingerprint": "66245dcdeab7cb60", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bc1b3cd359c863ee", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/shares.integration.test.ts:1796)"}, "properties": {"repobilityId": "dc3b3eb35441b51f", "scanner": "scanner-primary", "fingerprint": "bc1b3cd359c863ee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-102e5453d29f7720", "level": "error", "message": {"text": "Dangling fetch: GET /r/nosuchthing (server/http/shares.integration.test.ts:1802)"}, "properties": {"repobilityId": "e1cd7f5aa26e1452", "scanner": "scanner-primary", "fingerprint": "102e5453d29f7720", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b445bdebe5199ced", "level": "error", "message": {"text": "Dangling fetch: GET /r/ds_token-dltrash (server/http/shares.integration.test.ts:1819)"}, "properties": {"repobilityId": "f7de999d88ad3b8e", "scanner": "scanner-primary", "fingerprint": "b445bdebe5199ced", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-71a7a5dc564b4b60", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/shares.integration.test.ts:1839)"}, "properties": {"repobilityId": "e9210219d09b72ef", "scanner": "scanner-primary", "fingerprint": "71a7a5dc564b4b60", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d7c1165445f32b8d", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/shares.integration.test.ts:1852)"}, "properties": {"repobilityId": "59884caee53e2349", "scanner": "scanner-primary", "fingerprint": "d7c1165445f32b8d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-767329b38ae219ff", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/shares.integration.test.ts:1869)"}, "properties": {"repobilityId": "bf5128a301c242ca", "scanner": "scanner-primary", "fingerprint": "767329b38ae219ff", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-446fe2d2ca95fbc5", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${slug}/ (server/http/webdav.integration.test.ts:161)"}, "properties": {"repobilityId": "26c0252b7d4e4148", "scanner": "scanner-primary", "fingerprint": "446fe2d2ca95fbc5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a9156bebd51bb678", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${slug}/ (server/http/webdav.integration.test.ts:164)"}, "properties": {"repobilityId": "4ca4ba0d5de66cc7", "scanner": "scanner-primary", "fingerprint": "a9156bebd51bb678", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-91659d90c7953e22", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${slug}/ (server/http/webdav.integration.test.ts:166)"}, "properties": {"repobilityId": "ec9e757ad2bccbda", "scanner": "scanner-primary", "fingerprint": "91659d90c7953e22", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d74eaba3ab71ea7d", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${slug}/new.txt (server/http/webdav.integration.test.ts:171)"}, "properties": {"repobilityId": "23cb9091b6932cc0", "scanner": "scanner-primary", "fingerprint": "d74eaba3ab71ea7d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ebb21039874fae0d", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/ (server/http/webdav.integration.test.ts:187)"}, "properties": {"repobilityId": "b95bdd5af0060bca", "scanner": "scanner-primary", "fingerprint": "ebb21039874fae0d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d807e82feb93e647", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/ (server/http/webdav.integration.test.ts:206)"}, "properties": {"repobilityId": "bf72532ab96e1bf0", "scanner": "scanner-primary", "fingerprint": "d807e82feb93e647", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f4d7cc66399d6995", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav (server/http/webdav.integration.test.ts:210)"}, "properties": {"repobilityId": "1dcfa3aff561a37c", "scanner": "scanner-primary", "fingerprint": "f4d7cc66399d6995", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-343f28f29b0dd19e", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:217)"}, "properties": {"repobilityId": "6a9387817d37d4b3", "scanner": "scanner-primary", "fingerprint": "343f28f29b0dd19e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-23fe5c0924f4a176", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav//${workspace.slug}/Docs (server/http/webdav.integration.test.ts:228)"}, "properties": {"repobilityId": "24d0e32327fa813b", "scanner": "scanner-primary", "fingerprint": "23fe5c0924f4a176", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6c06bb65c2043f48", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.id}/ (server/http/webdav.integration.test.ts:247)"}, "properties": {"repobilityId": "29ea018956871a66", "scanner": "scanner-primary", "fingerprint": "6c06bb65c2043f48", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3f7741d3fb54b0c0", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/ (server/http/webdav.integration.test.ts:263)"}, "properties": {"repobilityId": "5f55c639b78670fa", "scanner": "scanner-primary", "fingerprint": "3f7741d3fb54b0c0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bb1505c654fd1128", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${hidden.slug}/ (server/http/webdav.integration.test.ts:270)"}, "properties": {"repobilityId": "a3637e4a11e3a6c9", "scanner": "scanner-primary", "fingerprint": "bb1505c654fd1128", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d00c37b4ccc06c0d", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:287)"}, "properties": {"repobilityId": "a90d1df413da54eb", "scanner": "scanner-primary", "fingerprint": "d00c37b4ccc06c0d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6a7fae4a7fbb3b7f", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:301)"}, "properties": {"repobilityId": "1aa15e52e89b1638", "scanner": "scanner-primary", "fingerprint": "6a7fae4a7fbb3b7f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-134be97615ecaa4d", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:311)"}, "properties": {"repobilityId": "0b849a1c99af2d00", "scanner": "scanner-primary", "fingerprint": "134be97615ecaa4d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c87e9c8c4f4bcff2", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:323)"}, "properties": {"repobilityId": "accd8684dbebf7a2", "scanner": "scanner-primary", "fingerprint": "c87e9c8c4f4bcff2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4e9aaf80c203aaa0", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:331)"}, "properties": {"repobilityId": "0f53553ce2d8c282", "scanner": "scanner-primary", "fingerprint": "4e9aaf80c203aaa0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0e512be6642002bd", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:338)"}, "properties": {"repobilityId": "f248a9bdb08928bd", "scanner": "scanner-primary", "fingerprint": "0e512be6642002bd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-55cd3a7b59ef0e4e", "level": "error", "message": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:355)"}, "properties": {"repobilityId": "d66e4b07e7461fad", "scanner": "scanner-primary", "fingerprint": "55cd3a7b59ef0e4e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6382e646fc2e3014", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:365)"}, "properties": {"repobilityId": "9d6bb8a0365290bb", "scanner": "scanner-primary", "fingerprint": "6382e646fc2e3014", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0c8d70b9a1a63da6", "level": "error", "message": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:373)"}, "properties": {"repobilityId": "a09857ee93f1a332", "scanner": "scanner-primary", "fingerprint": "0c8d70b9a1a63da6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8bd54e63962cc2e2", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:384)"}, "properties": {"repobilityId": "c2ed8a3f6273288c", "scanner": "scanner-primary", "fingerprint": "8bd54e63962cc2e2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-00f086ca7b295308", "level": "error", "message": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:394)"}, "properties": {"repobilityId": "5675e2c14d0aafda", "scanner": "scanner-primary", "fingerprint": "00f086ca7b295308", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b56bf2745cd5e4ba", "level": "error", "message": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:401)"}, "properties": {"repobilityId": "9c56f8c2fde3459c", "scanner": "scanner-primary", "fingerprint": "b56bf2745cd5e4ba", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ccaecb5adc211c8d", "level": "error", "message": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:408)"}, "properties": {"repobilityId": "739111cdc5e348d7", "scanner": "scanner-primary", "fingerprint": "ccaecb5adc211c8d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ca0a6ca0ff6b0b08", "level": "error", "message": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:415)"}, "properties": {"repobilityId": "f2a28c652fdf2299", "scanner": "scanner-primary", "fingerprint": "ca0a6ca0ff6b0b08", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cb87bc1215f85dcd", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:425)"}, "properties": {"repobilityId": "fb8a90cd11815430", "scanner": "scanner-primary", "fingerprint": "cb87bc1215f85dcd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d94b0f3d57bc7b9f", "level": "error", "message": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:432)"}, "properties": {"repobilityId": "90b054c0605050f5", "scanner": "scanner-primary", "fingerprint": "d94b0f3d57bc7b9f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7aa401b2438f772e", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/dead-props.txt (server/http/webdav.integration.test.ts:439)"}, "properties": {"repobilityId": "f20cb3faed9efcfd", "scanner": "scanner-primary", "fingerprint": "7aa401b2438f772e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e201cb28bb377328", "level": "error", "message": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/ (server/http/webdav.integration.test.ts:446)"}, "properties": {"repobilityId": "362a8004bfa3ee9a", "scanner": "scanner-primary", "fingerprint": "e201cb28bb377328", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-63635c817bd89445", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/ (server/http/webdav.integration.test.ts:453)"}, "properties": {"repobilityId": "75618b0723a58509", "scanner": "scanner-primary", "fingerprint": "63635c817bd89445", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0b9f7b2ac35fe93d", "level": "error", "message": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/readme.txt (server/http/webdav.integration.test.ts:470)"}, "properties": {"repobilityId": "eb6661e50fcbb94e", "scanner": "scanner-primary", "fingerprint": "0b9f7b2ac35fe93d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5c2022341ca7a658", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/readme.txt (server/http/webdav.integration.test.ts:480)"}, "properties": {"repobilityId": "14433eb6736827ce", "scanner": "scanner-primary", "fingerprint": "5c2022341ca7a658", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-775ae6d50a7fd59d", "level": "error", "message": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/traffic.txt (server/http/webdav.integration.test.ts:509)"}, "properties": {"repobilityId": "1d07c2082abca831", "scanner": "scanner-primary", "fingerprint": "775ae6d50a7fd59d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7a3a63bdf597f673", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/traffic.txt (server/http/webdav.integration.test.ts:519)"}, "properties": {"repobilityId": "d5a9103cf1d9a40c", "scanner": "scanner-primary", "fingerprint": "7a3a63bdf597f673", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3df8d5df4db8748f", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/range-traffic.txt (server/http/webdav.integration.test.ts:543)"}, "properties": {"repobilityId": "35251e3b9c43140c", "scanner": "scanner-primary", "fingerprint": "3df8d5df4db8748f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8e92a32ce1152134", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/range-traffic.txt (server/http/webdav.integration.test.ts:555)"}, "properties": {"repobilityId": "a8330e01863e1b7b", "scanner": "scanner-primary", "fingerprint": "8e92a32ce1152134", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3a565b07848dc192", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/range-traffic.txt (server/http/webdav.integration.test.ts:563)"}, "properties": {"repobilityId": "833dc8bdcf211bc6", "scanner": "scanner-primary", "fingerprint": "3a565b07848dc192", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6252e9e631374b46", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/report.txt (server/http/webdav.integration.test.ts:589)"}, "properties": {"repobilityId": "e310b3a388a03d58", "scanner": "scanner-primary", "fingerprint": "6252e9e631374b46", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9fd8b033380e5951", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/range.txt (server/http/webdav.integration.test.ts:614)"}, "properties": {"repobilityId": "438c4d1ffe9bc857", "scanner": "scanner-primary", "fingerprint": "9fd8b033380e5951", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-81509849937b1f0e", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/range.txt (server/http/webdav.integration.test.ts:628)"}, "properties": {"repobilityId": "b8f2eb3d007ba303", "scanner": "scanner-primary", "fingerprint": "81509849937b1f0e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-710af5ac0389e44b", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/range.txt (server/http/webdav.integration.test.ts:636)"}, "properties": {"repobilityId": "7f80db6a74d63657", "scanner": "scanner-primary", "fingerprint": "710af5ac0389e44b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e8334fc9911900a1", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/audio.mp3 (server/http/webdav.integration.test.ts:656)"}, "properties": {"repobilityId": "40b81927058cb03f", "scanner": "scanner-primary", "fingerprint": "e8334fc9911900a1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-534bdf9676f6bc59", "level": "error", "message": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:685)"}, "properties": {"repobilityId": "d2ab6a99636f75f4", "scanner": "scanner-primary", "fingerprint": "534bdf9676f6bc59", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f1507584b3c2454f", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:692)"}, "properties": {"repobilityId": "5a34213f35d683b9", "scanner": "scanner-primary", "fingerprint": "f1507584b3c2454f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3626b26e54718b2a", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:705)"}, "properties": {"repobilityId": "3661ea59c2aeb6f0", "scanner": "scanner-primary", "fingerprint": "3626b26e54718b2a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-eefdf4046003116f", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:720)"}, "properties": {"repobilityId": "dc68b4888539aa86", "scanner": "scanner-primary", "fingerprint": "eefdf4046003116f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4e248e57aefb8e7d", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/video.mp4 (server/http/webdav.integration.test.ts:739)"}, "properties": {"repobilityId": "9b7ea92c319dc24b", "scanner": "scanner-primary", "fingerprint": "4e248e57aefb8e7d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-70c69b54c6104a8c", "level": "error", "message": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:756)"}, "properties": {"repobilityId": "3cb42fef3e655f34", "scanner": "scanner-primary", "fingerprint": "70c69b54c6104a8c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-929e164d8a055035", "level": "error", "message": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:763)"}, "properties": {"repobilityId": "b59327e2726cb569", "scanner": "scanner-primary", "fingerprint": "929e164d8a055035", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-084240775d821d0c", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:769)"}, "properties": {"repobilityId": "31b0aeb9b02400e5", "scanner": "scanner-primary", "fingerprint": "084240775d821d0c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ea8e3fad8f63f2da", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:775)"}, "properties": {"repobilityId": "f272977fd6abc38a", "scanner": "scanner-primary", "fingerprint": "ea8e3fad8f63f2da", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b3e4be4a30a8b7a7", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:782)"}, "properties": {"repobilityId": "b1fbb42d24a0b379", "scanner": "scanner-primary", "fingerprint": "b3e4be4a30a8b7a7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cfbe28ede21ad64d", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:789)"}, "properties": {"repobilityId": "65201eedecd94bd7", "scanner": "scanner-primary", "fingerprint": "cfbe28ede21ad64d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-af8a28382ecd9633", "level": "error", "message": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/precondition.txt (server/http/webdav.integration.test.ts:800)"}, "properties": {"repobilityId": "533fd587ea2f6662", "scanner": "scanner-primary", "fingerprint": "af8a28382ecd9633", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-336ed8149eb7e50b", "level": "error", "message": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/cached.mp3 (server/http/webdav.integration.test.ts:816)"}, "properties": {"repobilityId": "21fc40df65bf065c", "scanner": "scanner-primary", "fingerprint": "336ed8149eb7e50b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4270661b0742fae5", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/cached.mp3 (server/http/webdav.integration.test.ts:822)"}, "properties": {"repobilityId": "fc0881cb0886f229", "scanner": "scanner-primary", "fingerprint": "4270661b0742fae5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f5b8c52fd9e48715", "level": "error", "message": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/date.txt (server/http/webdav.integration.test.ts:847)"}, "properties": {"repobilityId": "3ada488a955c8ec9", "scanner": "scanner-primary", "fingerprint": "f5b8c52fd9e48715", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a10f95a162878939", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/date.txt (server/http/webdav.integration.test.ts:855)"}, "properties": {"repobilityId": "f0e4ee5d08337434", "scanner": "scanner-primary", "fingerprint": "a10f95a162878939", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1350c5a1275186cf", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/date.txt (server/http/webdav.integration.test.ts:861)"}, "properties": {"repobilityId": "a086d714a4b00686", "scanner": "scanner-primary", "fingerprint": "1350c5a1275186cf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-08d1783900fc61d5", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/date.txt (server/http/webdav.integration.test.ts:872)"}, "properties": {"repobilityId": "e2cf12b767749cd6", "scanner": "scanner-primary", "fingerprint": "08d1783900fc61d5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6372c71be964c95b", "level": "error", "message": {"text": "Dangling fetch: OPTIONS /dav/ (server/http/webdav.integration.test.ts:890)"}, "properties": {"repobilityId": "dc741bf5bf732425", "scanner": "scanner-primary", "fingerprint": "6372c71be964c95b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c07e167a97338e9c", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/ (server/http/webdav.integration.test.ts:902)"}, "properties": {"repobilityId": "b61ee6b4e66f36dd", "scanner": "scanner-primary", "fingerprint": "c07e167a97338e9c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8b81ea3f284aef66", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/upload.txt (server/http/webdav.integration.test.ts:915)"}, "properties": {"repobilityId": "4a017d09d7e75185", "scanner": "scanner-primary", "fingerprint": "8b81ea3f284aef66", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fa5693bdd8c0abe9", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/upload.txt (server/http/webdav.integration.test.ts:950)"}, "properties": {"repobilityId": "21c885a9d6bacaeb", "scanner": "scanner-primary", "fingerprint": "fa5693bdd8c0abe9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3992d1d3a1d8872f", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/existing (server/http/webdav.integration.test.ts:979)"}, "properties": {"repobilityId": "6ce46113b4d5a923", "scanner": "scanner-primary", "fingerprint": "3992d1d3a1d8872f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-abddecd230352bf3", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/ (server/http/webdav.integration.test.ts:991)"}, "properties": {"repobilityId": "d6f570795fa8d03f", "scanner": "scanner-primary", "fingerprint": "abddecd230352bf3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1cfc27d83bab0bbc", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/Docs (server/http/webdav.integration.test.ts:998)"}, "properties": {"repobilityId": "78828b8c34338b14", "scanner": "scanner-primary", "fingerprint": "1cfc27d83bab0bbc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a8f635a313c6ebd1", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/will-fail.txt (server/http/webdav.integration.test.ts:1015)"}, "properties": {"repobilityId": "5b24f33a45f7fa24", "scanner": "scanner-primary", "fingerprint": "a8f635a313c6ebd1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-85e963952b985ef6", "level": "error", "message": {"text": "Dangling fetch: MKCOL /dav/${workspace.slug}/Projects (server/http/webdav.integration.test.ts:1033)"}, "properties": {"repobilityId": "276ac610c23ae5fe", "scanner": "scanner-primary", "fingerprint": "85e963952b985ef6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-efa62a58db98ea5a", "level": "error", "message": {"text": "Dangling fetch: MKCOL /dav/${workspace.slug}/Projects (server/http/webdav.integration.test.ts:1054)"}, "properties": {"repobilityId": "519debdd030bebb7", "scanner": "scanner-primary", "fingerprint": "efa62a58db98ea5a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-01c4c8391bcec13b", "level": "error", "message": {"text": "Dangling fetch: MKCOL /dav/${workspace.slug}/Missing/Child (server/http/webdav.integration.test.ts:1060)"}, "properties": {"repobilityId": "dcea4e93713dd9ac", "scanner": "scanner-primary", "fingerprint": "01c4c8391bcec13b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-119fc7a138c47d2e", "level": "error", "message": {"text": "Dangling fetch: MKCOL /dav/${workspace.slug}/file-parent.txt/Child (server/http/webdav.integration.test.ts:1066)"}, "properties": {"repobilityId": "4545559ad679408c", "scanner": "scanner-primary", "fingerprint": "119fc7a138c47d2e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0ad17ef90937d6c8", "level": "error", "message": {"text": "Dangling fetch: MKCOL /dav/${workspace.slug}/BodyCollection (server/http/webdav.integration.test.ts:1072)"}, "properties": {"repobilityId": "0d3ba45d2a487b17", "scanner": "scanner-primary", "fingerprint": "0ad17ef90937d6c8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-875d788286b6f306", "level": "error", "message": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/move-me.txt (server/http/webdav.integration.test.ts:1095)"}, "properties": {"repobilityId": "6dc8836f683ec765", "scanner": "scanner-primary", "fingerprint": "875d788286b6f306", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fabc4f8254fc1eb4", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/moved.txt (server/http/webdav.integration.test.ts:1101)"}, "properties": {"repobilityId": "a41f8141210f170d", "scanner": "scanner-primary", "fingerprint": "fabc4f8254fc1eb4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-039123b0bfd01738", "level": "error", "message": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/moved.txt (server/http/webdav.integration.test.ts:1107)"}, "properties": {"repobilityId": "d5e1cfa82661a230", "scanner": "scanner-primary", "fingerprint": "039123b0bfd01738", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5379d9cb8a276673", "level": "error", "message": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/moved.txt (server/http/webdav.integration.test.ts:1113)"}, "properties": {"repobilityId": "34cd470f57beed7a", "scanner": "scanner-primary", "fingerprint": "5379d9cb8a276673", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a2e5128f393a02a6", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/moved.txt (server/http/webdav.integration.test.ts:1121)"}, "properties": {"repobilityId": "44859f235424fe2b", "scanner": "scanner-primary", "fingerprint": "a2e5128f393a02a6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-72f30d26876544fc", "level": "error", "message": {"text": "Dangling fetch: DELETE /dav/${workspace.slug}/copied.txt (server/http/webdav.integration.test.ts:1129)"}, "properties": {"repobilityId": "f49b4d67e6b77f0b", "scanner": "scanner-primary", "fingerprint": "72f30d26876544fc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-11385df87393aa14", "level": "error", "message": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:1150)"}, "properties": {"repobilityId": "54a822fc087e0b57", "scanner": "scanner-primary", "fingerprint": "11385df87393aa14", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-245c273b8e6434f9", "level": "error", "message": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:1156)"}, "properties": {"repobilityId": "317f6cbd46b2442f", "scanner": "scanner-primary", "fingerprint": "245c273b8e6434f9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-66898986c7a9ee7f", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:1164)"}, "properties": {"repobilityId": "1c26fa92e5951d48", "scanner": "scanner-primary", "fingerprint": "66898986c7a9ee7f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-491c427749554b3c", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:1173)"}, "properties": {"repobilityId": "8247fd9f4e98fd3c", "scanner": "scanner-primary", "fingerprint": "491c427749554b3c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2177e0afb053496d", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/Source (server/http/webdav.integration.test.ts:1191)"}, "properties": {"repobilityId": "3ff47a95fa883863", "scanner": "scanner-primary", "fingerprint": "2177e0afb053496d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ae6836144da28530", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/Source (server/http/webdav.integration.test.ts:1205)"}, "properties": {"repobilityId": "d331c823d7dd3639", "scanner": "scanner-primary", "fingerprint": "ae6836144da28530", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-73d3566999c88fd2", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/Source (server/http/webdav.integration.test.ts:1213)"}, "properties": {"repobilityId": "9ec0d1c059420744", "scanner": "scanner-primary", "fingerprint": "73d3566999c88fd2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-94c7dc581c475fb4", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/Source (server/http/webdav.integration.test.ts:1223)"}, "properties": {"repobilityId": "01f7cb537bddddf6", "scanner": "scanner-primary", "fingerprint": "94c7dc581c475fb4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7d1f29b2cf84fb2f", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/LockedTarget (server/http/webdav.integration.test.ts:1243)"}, "properties": {"repobilityId": "db56f6f35f1b34f0", "scanner": "scanner-primary", "fingerprint": "7d1f29b2cf84fb2f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0078b5e8026f1adf", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/locked-source.txt (server/http/webdav.integration.test.ts:1250)"}, "properties": {"repobilityId": "e7d8c1a86ed88a83", "scanner": "scanner-primary", "fingerprint": "0078b5e8026f1adf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-496a15541a7fc3ba", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/RollbackSource (server/http/webdav.integration.test.ts:1262)"}, "properties": {"repobilityId": "655c737ea740de98", "scanner": "scanner-primary", "fingerprint": "496a15541a7fc3ba", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9885965de4d368a8", "level": "error", "message": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/MoveMe (server/http/webdav.integration.test.ts:1289)"}, "properties": {"repobilityId": "5d100eabd0da30be", "scanner": "scanner-primary", "fingerprint": "9885965de4d368a8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9974c1abac289034", "level": "error", "message": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/Moved (server/http/webdav.integration.test.ts:1302)"}, "properties": {"repobilityId": "c680fc510d9534e2", "scanner": "scanner-primary", "fingerprint": "9974c1abac289034", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bfa3c617f60235ce", "level": "error", "message": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/guarded.txt (server/http/webdav.integration.test.ts:1323)"}, "properties": {"repobilityId": "72a8bb5b6790a6ce", "scanner": "scanner-primary", "fingerprint": "bfa3c617f60235ce", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d633ce335c47a400", "level": "error", "message": {"text": "Dangling fetch: MKCOL /dav/${workspace.slug}/BlockedByIf (server/http/webdav.integration.test.ts:1330)"}, "properties": {"repobilityId": "1e22857032582477", "scanner": "scanner-primary", "fingerprint": "d633ce335c47a400", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bb767a0e12cfadc4", "level": "error", "message": {"text": "Dangling fetch: DELETE /dav/${workspace.slug}/delete-guarded.txt (server/http/webdav.integration.test.ts:1336)"}, "properties": {"repobilityId": "98202db840b87ca3", "scanner": "scanner-primary", "fingerprint": "bb767a0e12cfadc4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-78f934b466d7fc3a", "level": "error", "message": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/move-guarded.txt (server/http/webdav.integration.test.ts:1342)"}, "properties": {"repobilityId": "fbb27a281cf26fab", "scanner": "scanner-primary", "fingerprint": "78f934b466d7fc3a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ed18ddcd1d51f624", "level": "error", "message": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/move-guarded.txt (server/http/webdav.integration.test.ts:1351)"}, "properties": {"repobilityId": "f1c201d1c3ccc732", "scanner": "scanner-primary", "fingerprint": "ed18ddcd1d51f624", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e7b62c1a01a3af3b", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/copy-guarded.txt (server/http/webdav.integration.test.ts:1359)"}, "properties": {"repobilityId": "1425911326b0eb8e", "scanner": "scanner-primary", "fingerprint": "e7b62c1a01a3af3b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-61c0a4a8861e439a", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/guarded.txt (server/http/webdav.integration.test.ts:1368)"}, "properties": {"repobilityId": "55cca94508d00b08", "scanner": "scanner-primary", "fingerprint": "61c0a4a8861e439a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-28140ee37d151170", "level": "error", "message": {"text": "Dangling fetch: DELETE /dav/${workspace.slug}/guarded.txt (server/http/webdav.integration.test.ts:1375)"}, "properties": {"repobilityId": "00806b1710277892", "scanner": "scanner-primary", "fingerprint": "28140ee37d151170", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e6f4126591c6c04b", "level": "error", "message": {"text": "Dangling fetch: DELETE /dav/${workspace.slug}/DeleteMe (server/http/webdav.integration.test.ts:1392)"}, "properties": {"repobilityId": "09e6560627342ab8", "scanner": "scanner-primary", "fingerprint": "e6f4126591c6c04b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-667b90036565d69f", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/DeleteMe (server/http/webdav.integration.test.ts:1398)"}, "properties": {"repobilityId": "e0b0e44dcbdaabbc", "scanner": "scanner-primary", "fingerprint": "667b90036565d69f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0c88ae65b94bf4d4", "level": "error", "message": {"text": "Dangling fetch: PROPPATCH /dav/${workspace.slug}/state.txt (server/http/webdav.integration.test.ts:1418)"}, "properties": {"repobilityId": "9d90bd993acf9490", "scanner": "scanner-primary", "fingerprint": "0c88ae65b94bf4d4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1e527d33b504d20a", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/state.txt (server/http/webdav.integration.test.ts:1425)"}, "properties": {"repobilityId": "2441bd9b366186ae", "scanner": "scanner-primary", "fingerprint": "1e527d33b504d20a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-15a1c88998726d6e", "level": "error", "message": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/state.txt (server/http/webdav.integration.test.ts:1433)"}, "properties": {"repobilityId": "0b8e36f8a9260a9f", "scanner": "scanner-primary", "fingerprint": "15a1c88998726d6e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-835e15d58d7a768a", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1442)"}, "properties": {"repobilityId": "6f4eca988eeb0717", "scanner": "scanner-primary", "fingerprint": "835e15d58d7a768a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-026f4d6fa50ae2a1", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1451)"}, "properties": {"repobilityId": "75ea61a14309bbcb", "scanner": "scanner-primary", "fingerprint": "026f4d6fa50ae2a1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c2e5cdd30ddbd1bc", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/copied-state.txt (server/http/webdav.integration.test.ts:1460)"}, "properties": {"repobilityId": "4d5dcd4bcd85e574", "scanner": "scanner-primary", "fingerprint": "c2e5cdd30ddbd1bc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f52bfbbc682e6689", "level": "error", "message": {"text": "Dangling fetch: DELETE /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1469)"}, "properties": {"repobilityId": "a7f82299af00c143", "scanner": "scanner-primary", "fingerprint": "f52bfbbc682e6689", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c7733f3274db80d1", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1475)"}, "properties": {"repobilityId": "6e92dd879464f9ba", "scanner": "scanner-primary", "fingerprint": "c7733f3274db80d1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e51e42a043b2dbd8", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/moved-state.txt (server/http/webdav.integration.test.ts:1482)"}, "properties": {"repobilityId": "c568dff164544cdc", "scanner": "scanner-primary", "fingerprint": "e51e42a043b2dbd8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8d044d5c12ea8498", "level": "error", "message": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1501)"}, "properties": {"repobilityId": "508ee1817a461c60", "scanner": "scanner-primary", "fingerprint": "8d044d5c12ea8498", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b5fd51f4a007176f", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1507)"}, "properties": {"repobilityId": "eabfa3d1e886174c", "scanner": "scanner-primary", "fingerprint": "b5fd51f4a007176f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8cb4b02337b892f7", "level": "error", "message": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1518)"}, "properties": {"repobilityId": "e3bbaead0908a009", "scanner": "scanner-primary", "fingerprint": "8cb4b02337b892f7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8c23bb510c42ca8c", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1524)"}, "properties": {"repobilityId": "81ad0c845ed69ee9", "scanner": "scanner-primary", "fingerprint": "8c23bb510c42ca8c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e02fc96e1632ba2d", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1535)"}, "properties": {"repobilityId": "fe5d4d8e55765cee", "scanner": "scanner-primary", "fingerprint": "e02fc96e1632ba2d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a464552a606c0071", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1542)"}, "properties": {"repobilityId": "dcc7e1650e350c1d", "scanner": "scanner-primary", "fingerprint": "a464552a606c0071", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-57c2a29b71503331", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1552)"}, "properties": {"repobilityId": "9fedcddae4a7c88a", "scanner": "scanner-primary", "fingerprint": "57c2a29b71503331", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0b643cfcf951a1c8", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1562)"}, "properties": {"repobilityId": "c6c9f3c512126d0a", "scanner": "scanner-primary", "fingerprint": "0b643cfcf951a1c8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ec326bf21dcb50bf", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1572)"}, "properties": {"repobilityId": "7d619312a0ff2024", "scanner": "scanner-primary", "fingerprint": "ec326bf21dcb50bf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6132620e5354c7c0", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1579)"}, "properties": {"repobilityId": "c5f0f3cd9196437a", "scanner": "scanner-primary", "fingerprint": "6132620e5354c7c0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-00a238551286acec", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1589)"}, "properties": {"repobilityId": "24f776919258523b", "scanner": "scanner-primary", "fingerprint": "00a238551286acec", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9031bd7401720bd5", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/if.txt (server/http/webdav.integration.test.ts:1596)"}, "properties": {"repobilityId": "50dc53b679309aeb", "scanner": "scanner-primary", "fingerprint": "9031bd7401720bd5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b2c883f9381c30d6", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1618)"}, "properties": {"repobilityId": "e82a216b74ade34c", "scanner": "scanner-primary", "fingerprint": "b2c883f9381c30d6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4fa96393c27703f6", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1632)"}, "properties": {"repobilityId": "530e7502075d3a5a", "scanner": "scanner-primary", "fingerprint": "4fa96393c27703f6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5cc2d2945db19b0c", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1640)"}, "properties": {"repobilityId": "87516f059e20fcba", "scanner": "scanner-primary", "fingerprint": "5cc2d2945db19b0c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a4cd99a13fcb8042", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1647)"}, "properties": {"repobilityId": "c5c2471944ee44a3", "scanner": "scanner-primary", "fingerprint": "a4cd99a13fcb8042", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-71627e42adec49cd", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1658)"}, "properties": {"repobilityId": "52745b8f294f4205", "scanner": "scanner-primary", "fingerprint": "71627e42adec49cd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b34ab4063f72f014", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1669)"}, "properties": {"repobilityId": "21b191f1d45a65b8", "scanner": "scanner-primary", "fingerprint": "b34ab4063f72f014", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6938a8e260711f4d", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1676)"}, "properties": {"repobilityId": "353f739b62f7257a", "scanner": "scanner-primary", "fingerprint": "6938a8e260711f4d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7cb8373122bc95ef", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1683)"}, "properties": {"repobilityId": "e2931c27749b12ad", "scanner": "scanner-primary", "fingerprint": "7cb8373122bc95ef", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bc493a43c0c4dd7a", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1692)"}, "properties": {"repobilityId": "87abf9616dbd5f92", "scanner": "scanner-primary", "fingerprint": "bc493a43c0c4dd7a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6b7803cf46a8a207", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/other-locked.txt (server/http/webdav.integration.test.ts:1699)"}, "properties": {"repobilityId": "0a67073325d4a428", "scanner": "scanner-primary", "fingerprint": "6b7803cf46a8a207", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a8cc32820d4b0597", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1705)"}, "properties": {"repobilityId": "3f85353cdff9ec94", "scanner": "scanner-primary", "fingerprint": "a8cc32820d4b0597", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7a087e8585368288", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/other-locked.txt (server/http/webdav.integration.test.ts:1711)"}, "properties": {"repobilityId": "58259c62faa043e4", "scanner": "scanner-primary", "fingerprint": "7a087e8585368288", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ac9859899f605136", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/other-locked.txt (server/http/webdav.integration.test.ts:1718)"}, "properties": {"repobilityId": "e3e79e5e198200dc", "scanner": "scanner-primary", "fingerprint": "ac9859899f605136", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-80b7922ba97b39a3", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/other-locked.txt (server/http/webdav.integration.test.ts:1725)"}, "properties": {"repobilityId": "4707e9d1e9e44cf8", "scanner": "scanner-primary", "fingerprint": "80b7922ba97b39a3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-369cb3109f3f8bc5", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/missing-lock-target.txt (server/http/webdav.integration.test.ts:1732)"}, "properties": {"repobilityId": "c8900840fec50d73", "scanner": "scanner-primary", "fingerprint": "369cb3109f3f8bc5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cfa4248354b0c6ff", "level": "error", "message": {"text": "Dangling fetch: HEAD /dav/${workspace.slug}/missing-lock-target.txt (server/http/webdav.integration.test.ts:1742)"}, "properties": {"repobilityId": "52e904bb674ff6df", "scanner": "scanner-primary", "fingerprint": "cfa4248354b0c6ff", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d180ab79eb0caa60", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/Missing/missing-lock-target.txt (server/http/webdav.integration.test.ts:1749)"}, "properties": {"repobilityId": "3e5291feaceeb146", "scanner": "scanner-primary", "fingerprint": "d180ab79eb0caa60", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0d07065deeff8a22", "level": "error", "message": {"text": "Dangling fetch: UNLOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1756)"}, "properties": {"repobilityId": "6a97cc1296ebc2c0", "scanner": "scanner-primary", "fingerprint": "0d07065deeff8a22", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9ec99beccf21ee0e", "level": "error", "message": {"text": "Dangling fetch: UNLOCK /dav/${workspace.slug}/absent-unlock-target.txt (server/http/webdav.integration.test.ts:1762)"}, "properties": {"repobilityId": "e33c8daca7cbaccb", "scanner": "scanner-primary", "fingerprint": "9ec99beccf21ee0e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-487cedb1dd73df9b", "level": "error", "message": {"text": "Dangling fetch: UNLOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1768)"}, "properties": {"repobilityId": "2fdb0d4d8c6b65d7", "scanner": "scanner-primary", "fingerprint": "487cedb1dd73df9b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dec694703be99317", "level": "error", "message": {"text": "Dangling fetch: UNLOCK /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1774)"}, "properties": {"repobilityId": "c80a801f0c60c050", "scanner": "scanner-primary", "fingerprint": "dec694703be99317", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ba0dfe1e919417c6", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/locked.txt (server/http/webdav.integration.test.ts:1780)"}, "properties": {"repobilityId": "b97547ba0bc7636b", "scanner": "scanner-primary", "fingerprint": "ba0dfe1e919417c6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-db4602a66de3dccd", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/RefreshScope (server/http/webdav.integration.test.ts:1811)"}, "properties": {"repobilityId": "855160301ad8f6f1", "scanner": "scanner-primary", "fingerprint": "db4602a66de3dccd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-44c63ab58131a073", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/RefreshScope/child.txt (server/http/webdav.integration.test.ts:1819)"}, "properties": {"repobilityId": "19644037122a119b", "scanner": "scanner-primary", "fingerprint": "44c63ab58131a073", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b0bb795d788d3396", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/outside.txt (server/http/webdav.integration.test.ts:1827)"}, "properties": {"repobilityId": "7058983bc82bf499", "scanner": "scanner-primary", "fingerprint": "b0bb795d788d3396", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2cdabc1d2e83fe8a", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${secondWorkspace.slug}/RefreshScope/child.txt (server/http/webdav.integration.test.ts:1833)"}, "properties": {"repobilityId": "cb0e5d56e26cd82e", "scanner": "scanner-primary", "fingerprint": "2cdabc1d2e83fe8a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7b7f6725a3183553", "level": "error", "message": {"text": "Dangling fetch: UNLOCK /dav/${workspace.slug}/outside.txt (server/http/webdav.integration.test.ts:1839)"}, "properties": {"repobilityId": "9822731b1ea8775e", "scanner": "scanner-primary", "fingerprint": "7b7f6725a3183553", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dd9d46a2823c4df9", "level": "error", "message": {"text": "Dangling fetch: UNLOCK /dav/${workspace.slug}/RefreshScope/child.txt (server/http/webdav.integration.test.ts:1845)"}, "properties": {"repobilityId": "9ce03f476a5562ae", "scanner": "scanner-primary", "fingerprint": "dd9d46a2823c4df9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-861a2d048bb40968", "level": "error", "message": {"text": "Dangling fetch: PUT /dav/${workspace.slug}/RefreshScope/child.txt (server/http/webdav.integration.test.ts:1851)"}, "properties": {"repobilityId": "09b6a18025f77dca", "scanner": "scanner-primary", "fingerprint": "861a2d048bb40968", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c0b39bac63343144", "level": "error", "message": {"text": "Dangling fetch: LOCK /dav/${workspace.slug}/DiscoveryScope (server/http/webdav.integration.test.ts:1869)"}, "properties": {"repobilityId": "d72f1cdd03a241c8", "scanner": "scanner-primary", "fingerprint": "c0b39bac63343144", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3b8b950044258b31", "level": "error", "message": {"text": "Dangling fetch: PROPFIND /dav/${workspace.slug}/DiscoveryScope/child.txt (server/http/webdav.integration.test.ts:1877)"}, "properties": {"repobilityId": "e00362852954330c", "scanner": "scanner-primary", "fingerprint": "3b8b950044258b31", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f66035d079153d5e", "level": "error", "message": {"text": "Dangling fetch: GET /dav/${workspace.slug}/missing.txt (server/http/webdav.integration.test.ts:1896)"}, "properties": {"repobilityId": "d509431ea4f1b71f", "scanner": "scanner-primary", "fingerprint": "f66035d079153d5e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-480bdfb3e4054424", "level": "error", "message": {"text": "Dangling fetch: DELETE /dav/${workspace.slug}/missing.txt (server/http/webdav.integration.test.ts:1902)"}, "properties": {"repobilityId": "0c2c6dc3002a8918", "scanner": "scanner-primary", "fingerprint": "480bdfb3e4054424", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f2c5095a47db04ee", "level": "error", "message": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/move-source.txt (server/http/webdav.integration.test.ts:1919)"}, "properties": {"repobilityId": "fee8a18172e8f2dc", "scanner": "scanner-primary", "fingerprint": "f2c5095a47db04ee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-66f6e84ce4a2232b", "level": "error", "message": {"text": "Dangling fetch: MOVE /dav/${workspace.slug}/move-source.txt (server/http/webdav.integration.test.ts:1928)"}, "properties": {"repobilityId": "787e38f410801b99", "scanner": "scanner-primary", "fingerprint": "66f6e84ce4a2232b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b96b14df4d726707", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/copy-source.txt (server/http/webdav.integration.test.ts:1955)"}, "properties": {"repobilityId": "378689230354856d", "scanner": "scanner-primary", "fingerprint": "b96b14df4d726707", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-580903e3be893c44", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/copy-source.txt (server/http/webdav.integration.test.ts:1964)"}, "properties": {"repobilityId": "5e81cec196a840b2", "scanner": "scanner-primary", "fingerprint": "580903e3be893c44", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f582720f204d3782", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/Copy%20Folder (server/http/webdav.integration.test.ts:1974)"}, "properties": {"repobilityId": "a90ee624e681406d", "scanner": "scanner-primary", "fingerprint": "f582720f204d3782", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-461e9afb5396a069", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/Copy%20Folder (server/http/webdav.integration.test.ts:1987)"}, "properties": {"repobilityId": "81af90332d0cd7cd", "scanner": "scanner-primary", "fingerprint": "461e9afb5396a069", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2542bb8210176d4e", "level": "error", "message": {"text": "Dangling fetch: COPY /dav/${workspace.slug}/source.txt (server/http/webdav.integration.test.ts:2007)"}, "properties": {"repobilityId": "1b89ff5e8c809dca", "scanner": "scanner-primary", "fingerprint": "2542bb8210176d4e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1052a049ad9ab479", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/device/code (server/http/downloads/download-tasks.integration.test.ts:100)"}, "properties": {"repobilityId": "8c93ec9eedd8f75b", "scanner": "scanner-primary", "fingerprint": "1052a049ad9ab479", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5f1060f8851a795a", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/device?user_code=${encodeURIComponent(code.user_code)} (server/http/downloads/download-tasks.integration.test.ts:108)"}, "properties": {"repobilityId": "b70e4e5b22b0d785", "scanner": "scanner-primary", "fingerprint": "5f1060f8851a795a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9cb5173c65a7a762", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/device/approve (server/http/downloads/download-tasks.integration.test.ts:114)"}, "properties": {"repobilityId": "edd82059ce62b492", "scanner": "scanner-primary", "fingerprint": "9cb5173c65a7a762", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-02aae4ae2dd45487", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/device/token (server/http/downloads/download-tasks.integration.test.ts:121)"}, "properties": {"repobilityId": "c27bf415293ff722", "scanner": "scanner-primary", "fingerprint": "02aae4ae2dd45487", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fdf43e2b9a3f6a7f", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders (server/http/downloads/download-tasks.integration.test.ts:133)"}, "properties": {"repobilityId": "b5cb63984113445e", "scanner": "scanner-primary", "fingerprint": "fdf43e2b9a3f6a7f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2a1259843bdc1f11", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:161)"}, "properties": {"repobilityId": "98a06dba69dbb47b", "scanner": "scanner-primary", "fingerprint": "2a1259843bdc1f11", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b5f68c481bb0c102", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:174)"}, "properties": {"repobilityId": "53753e242fd1ff45", "scanner": "scanner-primary", "fingerprint": "b5f68c481bb0c102", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b2e9801b95aa6eda", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:192)"}, "properties": {"repobilityId": "0c9d735f1c53daf1", "scanner": "scanner-primary", "fingerprint": "b2e9801b95aa6eda", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3cc227372bd41988", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:200)"}, "properties": {"repobilityId": "d57fa44e7eee2b9a", "scanner": "scanner-primary", "fingerprint": "3cc227372bd41988", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0545068046425944", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/downloads/downloaders/${createdDownloader.downloader.id} (server/http/downloads/download-tasks.integration.test.ts:213)"}, "properties": {"repobilityId": "0c9412c4b7619ac7", "scanner": "scanner-primary", "fingerprint": "0545068046425944", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3c4e0b4d5ca8ba00", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:220)"}, "properties": {"repobilityId": "7b9334d37c7652d0", "scanner": "scanner-primary", "fingerprint": "3c4e0b4d5ca8ba00", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b8a098600cb3ffcf", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:242)"}, "properties": {"repobilityId": "81a8789874668828", "scanner": "scanner-primary", "fingerprint": "b8a098600cb3ffcf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e9e01d2ed853c538", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:249)"}, "properties": {"repobilityId": "db6fb3acdc707894", "scanner": "scanner-primary", "fingerprint": "e9e01d2ed853c538", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-00fb1b1bf1b0cb79", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:264)"}, "properties": {"repobilityId": "02b6fa95f50a0080", "scanner": "scanner-primary", "fingerprint": "00fb1b1bf1b0cb79", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6501f3907e3fc030", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:288)"}, "properties": {"repobilityId": "a86edb62e273cd48", "scanner": "scanner-primary", "fingerprint": "6501f3907e3fc030", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-65c3df9619bd6722", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:296)"}, "properties": {"repobilityId": "b60592d4497479db", "scanner": "scanner-primary", "fingerprint": "65c3df9619bd6722", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9b1c1c34ef2ae166", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:309)"}, "properties": {"repobilityId": "bcca715c4287fb7e", "scanner": "scanner-primary", "fingerprint": "9b1c1c34ef2ae166", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b79f9f239da8cb0b", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:316)"}, "properties": {"repobilityId": "9069084873c19cfc", "scanner": "scanner-primary", "fingerprint": "b79f9f239da8cb0b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-56d0153b260c64b3", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:329)"}, "properties": {"repobilityId": "3f39df8258a28b2b", "scanner": "scanner-primary", "fingerprint": "56d0153b260c64b3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ae6654bfa6414e14", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/downloaders (server/http/downloads/download-tasks.integration.test.ts:346)"}, "properties": {"repobilityId": "5d201274084cf7c3", "scanner": "scanner-primary", "fingerprint": "ae6654bfa6414e14", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ae2b62f572b86a25", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:364)"}, "properties": {"repobilityId": "929771658357d353", "scanner": "scanner-primary", "fingerprint": "ae2b62f572b86a25", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9f1b916ad93a80f5", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:372)"}, "properties": {"repobilityId": "32748362714b7e2a", "scanner": "scanner-primary", "fingerprint": "9f1b916ad93a80f5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-251ccb993c04ceb6", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:392)"}, "properties": {"repobilityId": "d44c3b48f3d120fd", "scanner": "scanner-primary", "fingerprint": "251ccb993c04ceb6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3bf50dc111f10549", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:402)"}, "properties": {"repobilityId": "c42800ce2049b451", "scanner": "scanner-primary", "fingerprint": "3bf50dc111f10549", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7dfbd5c2a8d7086e", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:419)"}, "properties": {"repobilityId": "3d0753a31a7cedcc", "scanner": "scanner-primary", "fingerprint": "7dfbd5c2a8d7086e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c9f69dc4eddc23e0", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:427)"}, "properties": {"repobilityId": "7c114585f97b6a8b", "scanner": "scanner-primary", "fingerprint": "c9f69dc4eddc23e0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8958051603da6931", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&category=fixtures&tag=http (server/http/downloads/download-tasks.integration.test.ts:446)"}, "properties": {"repobilityId": "9ed43ccd0d608cbb", "scanner": "scanner-primary", "fingerprint": "8958051603da6931", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ded141d7956620a9", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:461)"}, "properties": {"repobilityId": "7821285dd4a7ee17", "scanner": "scanner-primary", "fingerprint": "ded141d7956620a9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9f96d901abe51d1a", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=downloading (server/http/downloads/download-tasks.integration.test.ts:495)"}, "properties": {"repobilityId": "b5d27c14e300b613", "scanner": "scanner-primary", "fingerprint": "9f96d901abe51d1a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-86684d5fbea7c432", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:505)"}, "properties": {"repobilityId": "37da25c524231556", "scanner": "scanner-primary", "fingerprint": "86684d5fbea7c432", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8e6588c2ba1d7464", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:521)"}, "properties": {"repobilityId": "d90538901eae0ed6", "scanner": "scanner-primary", "fingerprint": "8e6588c2ba1d7464", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2ae52d45077541ac", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/${nestedObject.id}/status (server/http/downloads/download-tasks.integration.test.ts:536)"}, "properties": {"repobilityId": "41563dca6534c5e9", "scanner": "scanner-primary", "fingerprint": "2ae52d45077541ac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c5c3c8feb5c99eab", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:543)"}, "properties": {"repobilityId": "e875a68ac6e41abc", "scanner": "scanner-primary", "fingerprint": "c5c3c8feb5c99eab", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-02823dc0b6ebe949", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:555)"}, "properties": {"repobilityId": "cff170c4b54afabc", "scanner": "scanner-primary", "fingerprint": "02823dc0b6ebe949", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fb479aea3393788b", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/${object.id}/uploads (server/http/downloads/download-tasks.integration.test.ts:570)"}, "properties": {"repobilityId": "cc61eb02c4aeda6e", "scanner": "scanner-primary", "fingerprint": "fb479aea3393788b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5a98a26518c2540c", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/${object.id}/uploads/${session.id}/parts (server/http/downloads/download-tasks.integration.test.ts:580)"}, "properties": {"repobilityId": "135cc8bc8349d8ab", "scanner": "scanner-primary", "fingerprint": "5a98a26518c2540c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d82ab426475faa01", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/${object.id}/uploads/${session.id}/status (server/http/downloads/download-tasks.integration.test.ts:589)"}, "properties": {"repobilityId": "b0d5ca44f02dd33d", "scanner": "scanner-primary", "fingerprint": "d82ab426475faa01", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1bd4ddc5308d2e34", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/${object.id}/status (server/http/downloads/download-tasks.integration.test.ts:596)"}, "properties": {"repobilityId": "d21129211cd2c744", "scanner": "scanner-primary", "fingerprint": "1bd4ddc5308d2e34", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b6ec912cb80ac6bf", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:605)"}, "properties": {"repobilityId": "e871ee2bbff42918", "scanner": "scanner-primary", "fingerprint": "b6ec912cb80ac6bf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2d78d054ffc49d91", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=uploading (server/http/downloads/download-tasks.integration.test.ts:614)"}, "properties": {"repobilityId": "b0b1c11fba67fa2d", "scanner": "scanner-primary", "fingerprint": "2d78d054ffc49d91", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f432aec697f0683d", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:623)"}, "properties": {"repobilityId": "37c2326b94f74b51", "scanner": "scanner-primary", "fingerprint": "f432aec697f0683d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dcd2dd8dc2d86f10", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:638)"}, "properties": {"repobilityId": "049f6a6abcdb3476", "scanner": "scanner-primary", "fingerprint": "dcd2dd8dc2d86f10", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-52cc4de54e03fc8b", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:675)"}, "properties": {"repobilityId": "128f3b1181cdbd88", "scanner": "scanner-primary", "fingerprint": "52cc4de54e03fc8b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-23ad30ccf44fafab", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:683)"}, "properties": {"repobilityId": "c0114a1d3eb4cbb1", "scanner": "scanner-primary", "fingerprint": "23ad30ccf44fafab", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dcd1b83051aa996d", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:694)"}, "properties": {"repobilityId": "b3a064ce38573507", "scanner": "scanner-primary", "fingerprint": "dcd1b83051aa996d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b1a42d14d2420706", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:732)"}, "properties": {"repobilityId": "a8fffdaae25b7a3a", "scanner": "scanner-primary", "fingerprint": "b1a42d14d2420706", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-aaf233c7acc03177", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:740)"}, "properties": {"repobilityId": "e17770270269c53c", "scanner": "scanner-primary", "fingerprint": "aaf233c7acc03177", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9e047f6bb636f808", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:752)"}, "properties": {"repobilityId": "a7325e903f56f4de", "scanner": "scanner-primary", "fingerprint": "9e047f6bb636f808", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-28164b80c2278562", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:772)"}, "properties": {"repobilityId": "49028a252b2ee03c", "scanner": "scanner-primary", "fingerprint": "28164b80c2278562", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-80a3193d7dc7f0db", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:816)"}, "properties": {"repobilityId": "b9dcaa3c40c9f960", "scanner": "scanner-primary", "fingerprint": "80a3193d7dc7f0db", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-88f49281067b6389", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:827)"}, "properties": {"repobilityId": "0b63ba91715824dc", "scanner": "scanner-primary", "fingerprint": "88f49281067b6389", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-939f6b02d3989417", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${task.id} (server/http/downloads/download-tasks.integration.test.ts:848)"}, "properties": {"repobilityId": "189fe186537eeab2", "scanner": "scanner-primary", "fingerprint": "939f6b02d3989417", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0c9739a990326985", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:882)"}, "properties": {"repobilityId": "90f98440d62075bd", "scanner": "scanner-primary", "fingerprint": "0c9739a990326985", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-577f6201d975e30f", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:890)"}, "properties": {"repobilityId": "6c0e70184d0a1b72", "scanner": "scanner-primary", "fingerprint": "577f6201d975e30f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6c4254220f71b9fb", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=assigned (server/http/downloads/download-tasks.integration.test.ts:899)"}, "properties": {"repobilityId": "a4656cb3c30fe232", "scanner": "scanner-primary", "fingerprint": "6c4254220f71b9fb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4a581ff818f568e2", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:907)"}, "properties": {"repobilityId": "be6ae6af24e6a915", "scanner": "scanner-primary", "fingerprint": "4a581ff818f568e2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7ee7431bfc7bf62a", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/${object.id}/uploads (server/http/downloads/download-tasks.integration.test.ts:920)"}, "properties": {"repobilityId": "346cbaa6a9cd2b5c", "scanner": "scanner-primary", "fingerprint": "7ee7431bfc7bf62a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-92edb717a18bea66", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:938)"}, "properties": {"repobilityId": "147403ced29b8267", "scanner": "scanner-primary", "fingerprint": "92edb717a18bea66", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f3b700e4c7c5c00b", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/downloads/download-tasks.integration.test.ts:967)"}, "properties": {"repobilityId": "87c0a6e9a305b07b", "scanner": "scanner-primary", "fingerprint": "f3b700e4c7c5c00b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8f6147866789c724", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/${object.id}/uploads (server/http/downloads/download-tasks.integration.test.ts:980)"}, "properties": {"repobilityId": "97de64dc327b1d10", "scanner": "scanner-primary", "fingerprint": "8f6147866789c724", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-14bc4a00547e6555", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/${object.id}/uploads/${session.id}/status (server/http/downloads/download-tasks.integration.test.ts:988)"}, "properties": {"repobilityId": "569b508ecc7a359c", "scanner": "scanner-primary", "fingerprint": "14bc4a00547e6555", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f8d2d87bf27f926b", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:1009)"}, "properties": {"repobilityId": "6174b5cb9ac58e97", "scanner": "scanner-primary", "fingerprint": "f8d2d87bf27f926b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e39577e39bcc2e8d", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1017)"}, "properties": {"repobilityId": "d711478f9498b1db", "scanner": "scanner-primary", "fingerprint": "e39577e39bcc2e8d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fb5f196e6f40a3ae", "level": "error", "message": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1030)"}, "properties": {"repobilityId": "29e4b70d06840854", "scanner": "scanner-primary", "fingerprint": "fb5f196e6f40a3ae", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-560da178d42b4114", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me (server/http/downloads/download-tasks.integration.test.ts:1038)"}, "properties": {"repobilityId": "968321d8ad1fbc61", "scanner": "scanner-primary", "fingerprint": "560da178d42b4114", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-593adbd28fe20d09", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1045)"}, "properties": {"repobilityId": "8d7d46d1a334ccbd", "scanner": "scanner-primary", "fingerprint": "593adbd28fe20d09", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3d31b967067418a7", "level": "error", "message": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1053)"}, "properties": {"repobilityId": "bbcda9c7ea6860e6", "scanner": "scanner-primary", "fingerprint": "3d31b967067418a7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7666f75eac17f1d2", "level": "error", "message": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1061)"}, "properties": {"repobilityId": "a459c37595cff1eb", "scanner": "scanner-primary", "fingerprint": "7666f75eac17f1d2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2c4f16308f2bf2ce", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me (server/http/downloads/download-tasks.integration.test.ts:1069)"}, "properties": {"repobilityId": "15c20e9d17209bbb", "scanner": "scanner-primary", "fingerprint": "2c4f16308f2bf2ce", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-04dde661103f4f93", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1076)"}, "properties": {"repobilityId": "f5882d2ba2edd7f4", "scanner": "scanner-primary", "fingerprint": "04dde661103f4f93", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a5ca9ddb9d1642d2", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1084)"}, "properties": {"repobilityId": "618af37c57e45b34", "scanner": "scanner-primary", "fingerprint": "a5ca9ddb9d1642d2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dca49febdb6c926b", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1095)"}, "properties": {"repobilityId": "3b2c705ee86aea44", "scanner": "scanner-primary", "fingerprint": "dca49febdb6c926b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a87cb935c03e766e", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:1112)"}, "properties": {"repobilityId": "89933f4175a4b214", "scanner": "scanner-primary", "fingerprint": "a87cb935c03e766e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0ab7cb53a10273ce", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1120)"}, "properties": {"repobilityId": "a44f4c3cfb6efd4a", "scanner": "scanner-primary", "fingerprint": "0ab7cb53a10273ce", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d7b1b3b54fc7cf80", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1133)"}, "properties": {"repobilityId": "8c717b967be6b633", "scanner": "scanner-primary", "fingerprint": "d7b1b3b54fc7cf80", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8a2dcfa6d18c5138", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=interrupted (server/http/downloads/download-tasks.integration.test.ts:1150)"}, "properties": {"repobilityId": "3e6a81ec4f14fe35", "scanner": "scanner-primary", "fingerprint": "8a2dcfa6d18c5138", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-57981e11dc3a161a", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1159)"}, "properties": {"repobilityId": "52c972bcc76f4b65", "scanner": "scanner-primary", "fingerprint": "57981e11dc3a161a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f125cdaee8b40426", "level": "error", "message": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1171)"}, "properties": {"repobilityId": "85c886991ede089d", "scanner": "scanner-primary", "fingerprint": "f125cdaee8b40426", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-71187c938001be66", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1179)"}, "properties": {"repobilityId": "9f8157d4becf28fc", "scanner": "scanner-primary", "fingerprint": "71187c938001be66", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b8a5705618c4a095", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1186)"}, "properties": {"repobilityId": "634933f4afe8d95a", "scanner": "scanner-primary", "fingerprint": "b8a5705618c4a095", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-287cb0e594d23063", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:1204)"}, "properties": {"repobilityId": "8580cd0b8cecfe52", "scanner": "scanner-primary", "fingerprint": "287cb0e594d23063", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fc1055228cd5d7f1", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1212)"}, "properties": {"repobilityId": "351be99d159b0eb6", "scanner": "scanner-primary", "fingerprint": "fc1055228cd5d7f1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5bd0cbdcdded78e1", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1225)"}, "properties": {"repobilityId": "affc3e4eab5fde24", "scanner": "scanner-primary", "fingerprint": "5bd0cbdcdded78e1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1af3e1d32cb4e514", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks/${createdTask.id}/attempts (server/http/downloads/download-tasks.integration.test.ts:1252)"}, "properties": {"repobilityId": "99a1fc37b6ec60f4", "scanner": "scanner-primary", "fingerprint": "1af3e1d32cb4e514", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-efe647e6ce681bba", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks?assignedTo=me&status=assigned (server/http/downloads/download-tasks.integration.test.ts:1273)"}, "properties": {"repobilityId": "387d4ba29f9135e5", "scanner": "scanner-primary", "fingerprint": "efe647e6ce681bba", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2000e065d11e0f79", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks/${createdTask.id}/attempts (server/http/downloads/download-tasks.integration.test.ts:1290)"}, "properties": {"repobilityId": "539221c1842876e8", "scanner": "scanner-primary", "fingerprint": "2000e065d11e0f79", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-74aa10e767dea48b", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1310)"}, "properties": {"repobilityId": "94177abae6ec1bbc", "scanner": "scanner-primary", "fingerprint": "74aa10e767dea48b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f680c7a05fff1e95", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1338)"}, "properties": {"repobilityId": "50f64fea1d3942cf", "scanner": "scanner-primary", "fingerprint": "f680c7a05fff1e95", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-40de05c4dce8d72b", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1348)"}, "properties": {"repobilityId": "09959c6a48c8f8e1", "scanner": "scanner-primary", "fingerprint": "40de05c4dce8d72b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-46b7a73a35c6ad2a", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1363)"}, "properties": {"repobilityId": "bdbc00d1cca9dc03", "scanner": "scanner-primary", "fingerprint": "46b7a73a35c6ad2a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d1caf95b746767d3", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:1387)"}, "properties": {"repobilityId": "5408eafd10f45430", "scanner": "scanner-primary", "fingerprint": "d1caf95b746767d3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6df9e950e3d9bbb0", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1395)"}, "properties": {"repobilityId": "b83b3972256cdaac", "scanner": "scanner-primary", "fingerprint": "6df9e950e3d9bbb0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e6bd401e2e8a7111", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1406)"}, "properties": {"repobilityId": "7b49bcd87206dfd5", "scanner": "scanner-primary", "fingerprint": "e6bd401e2e8a7111", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5b2a81742516bf20", "level": "error", "message": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1413)"}, "properties": {"repobilityId": "366400d39cc3e08c", "scanner": "scanner-primary", "fingerprint": "5b2a81742516bf20", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-16d25f0f27590e5f", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1421)"}, "properties": {"repobilityId": "9ec80f8f08a8cfe4", "scanner": "scanner-primary", "fingerprint": "16d25f0f27590e5f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-477ef27f99a6e0ca", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1429)"}, "properties": {"repobilityId": "e8ea92f8445f381f", "scanner": "scanner-primary", "fingerprint": "477ef27f99a6e0ca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bdfb3b60ceb12f87", "level": "error", "message": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1437)"}, "properties": {"repobilityId": "e879469521eb6ae9", "scanner": "scanner-primary", "fingerprint": "bdfb3b60ceb12f87", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b946a7dc882216f1", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1447)"}, "properties": {"repobilityId": "2a83ea58f82be7ce", "scanner": "scanner-primary", "fingerprint": "b946a7dc882216f1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4a18352573633169", "level": "error", "message": {"text": "Dangling fetch: PUT /api/downloads/tasks/${createdTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1454)"}, "properties": {"repobilityId": "dbed64084fdc6c60", "scanner": "scanner-primary", "fingerprint": "4a18352573633169", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-272066f39a253df9", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1462)"}, "properties": {"repobilityId": "8329335f4b4d2ed8", "scanner": "scanner-primary", "fingerprint": "272066f39a253df9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c119286b14df2411", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders/me/heartbeats (server/http/downloads/download-tasks.integration.test.ts:1480)"}, "properties": {"repobilityId": "32a3251356c4e1a7", "scanner": "scanner-primary", "fingerprint": "c119286b14df2411", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9165642ba872e2a7", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1489)"}, "properties": {"repobilityId": "11a2ca16e51592c4", "scanner": "scanner-primary", "fingerprint": "9165642ba872e2a7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2e6b10abc44c4bcd", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${billingTask.id} (server/http/downloads/download-tasks.integration.test.ts:1499)"}, "properties": {"repobilityId": "22af92bb38870824", "scanner": "scanner-primary", "fingerprint": "2e6b10abc44c4bcd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6bd1fd8d70cd4f18", "level": "error", "message": {"text": "Dangling fetch: PUT /api/downloads/tasks/${billingTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1505)"}, "properties": {"repobilityId": "24e53d097d203ec2", "scanner": "scanner-primary", "fingerprint": "6bd1fd8d70cd4f18", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7e2e171f1e1977fc", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/downloads/tasks/${uploadingTask.id} (server/http/downloads/download-tasks.integration.test.ts:1513)"}, "properties": {"repobilityId": "0972f329f3a405ef", "scanner": "scanner-primary", "fingerprint": "7e2e171f1e1977fc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-592952f8e9502f3f", "level": "error", "message": {"text": "Dangling fetch: PUT /api/downloads/tasks/${uploadingTask.id}/status (server/http/downloads/download-tasks.integration.test.ts:1519)"}, "properties": {"repobilityId": "b758222089ba12e0", "scanner": "scanner-primary", "fingerprint": "592952f8e9502f3f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-292d83c3648d42db", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1532)"}, "properties": {"repobilityId": "440357b59c592093", "scanner": "scanner-primary", "fingerprint": "292d83c3648d42db", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-02d8373abe0da2c0", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/downloads/tasks/${createdTask.id} (server/http/downloads/download-tasks.integration.test.ts:1544)"}, "properties": {"repobilityId": "60a1056f5761c684", "scanner": "scanner-primary", "fingerprint": "02d8373abe0da2c0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-351c8a6a1921a5b8", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/tasks (server/http/downloads/download-tasks.integration.test.ts:1573)"}, "properties": {"repobilityId": "365870fd450daa87", "scanner": "scanner-primary", "fingerprint": "351c8a6a1921a5b8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3aa18645ed2b340c", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks?sortBy=category&sortDir=asc (server/http/downloads/download-tasks.integration.test.ts:1581)"}, "properties": {"repobilityId": "ae0db7edc8912747", "scanner": "scanner-primary", "fingerprint": "3aa18645ed2b340c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e1ba8414d5204ec7", "level": "error", "message": {"text": "Dangling fetch: GET /api/downloads/tasks?tag=movie&sortBy=source&sortDir=desc (server/http/downloads/download-tasks.integration.test.ts:1586)"}, "properties": {"repobilityId": "3423bc21c76c98ff", "scanner": "scanner-primary", "fingerprint": "e1ba8414d5204ec7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2ff3da13b9f20d07", "level": "error", "message": {"text": "Dangling fetch: POST /api/downloads/downloaders (server/http/downloads/download-tasks.integration.test.ts:1604)"}, "properties": {"repobilityId": "8152b48baea36090", "scanner": "scanner-primary", "fingerprint": "2ff3da13b9f20d07", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cd115840fd6c730e", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:35)"}, "properties": {"repobilityId": "8c26988c8b302a7d", "scanner": "scanner-primary", "fingerprint": "cd115840fd6c730e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6065c094215901da", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:48)"}, "properties": {"repobilityId": "206a33117f00035d", "scanner": "scanner-primary", "fingerprint": "6065c094215901da", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b6e38ed529c47282", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:65)"}, "properties": {"repobilityId": "95d4eee83638aaa3", "scanner": "scanner-primary", "fingerprint": "b6e38ed529c47282", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-59f57d4b774ca961", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/request-password-reset (server/http/auth/auth.integration.test.ts:70)"}, "properties": {"repobilityId": "0f0639b909c89ef0", "scanner": "scanner-primary", "fingerprint": "59f57d4b774ca961", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1dfe8d8c6af31c67", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:82)"}, "properties": {"repobilityId": "c00470e92581f86d", "scanner": "scanner-primary", "fingerprint": "1dfe8d8c6af31c67", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5fcf5e6275c5edee", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:111)"}, "properties": {"repobilityId": "9b3e33724b60f557", "scanner": "scanner-primary", "fingerprint": "5fcf5e6275c5edee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2de4af49e06125f6", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:123)"}, "properties": {"repobilityId": "2d537ee35438a269", "scanner": "scanner-primary", "fingerprint": "2de4af49e06125f6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-444b0846e286ddbe", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:157)"}, "properties": {"repobilityId": "8e3a6fc0776d5aba", "scanner": "scanner-primary", "fingerprint": "444b0846e286ddbe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-01bffd184ae060f1", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:173)"}, "properties": {"repobilityId": "b8537c913c921cb1", "scanner": "scanner-primary", "fingerprint": "01bffd184ae060f1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3440c543dee37e9b", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:188)"}, "properties": {"repobilityId": "c7182bed45bcfe06", "scanner": "scanner-primary", "fingerprint": "3440c543dee37e9b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-377725a6b00f160b", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:199)"}, "properties": {"repobilityId": "4aac0dcbac7b715a", "scanner": "scanner-primary", "fingerprint": "377725a6b00f160b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-141b07f6fb59da2c", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:218)"}, "properties": {"repobilityId": "caab8da315a99df1", "scanner": "scanner-primary", "fingerprint": "141b07f6fb59da2c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cd66580872a3f53a", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:224)"}, "properties": {"repobilityId": "8a3934c8d077c719", "scanner": "scanner-primary", "fingerprint": "cd66580872a3f53a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f7b433d982da1bda", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:236)"}, "properties": {"repobilityId": "aeb7a7a23e9b04a0", "scanner": "scanner-primary", "fingerprint": "f7b433d982da1bda", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cd291f90519e3ffe", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:242)"}, "properties": {"repobilityId": "7a1880b79bfa5482", "scanner": "scanner-primary", "fingerprint": "cd291f90519e3ffe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-30d507b3c475f3b2", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:261)"}, "properties": {"repobilityId": "cc99aa3c0f049fff", "scanner": "scanner-primary", "fingerprint": "30d507b3c475f3b2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6edffdee9eecb614", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:267)"}, "properties": {"repobilityId": "8deaf936c2ac3ea4", "scanner": "scanner-primary", "fingerprint": "6edffdee9eecb614", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-caa557b2ab038a9c", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:289)"}, "properties": {"repobilityId": "4036a2c5e58a7bd4", "scanner": "scanner-primary", "fingerprint": "caa557b2ab038a9c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-df57cf5e56e638eb", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:318)"}, "properties": {"repobilityId": "86618f2cbd992478", "scanner": "scanner-primary", "fingerprint": "df57cf5e56e638eb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-877afe0ae5e6cb96", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:347)"}, "properties": {"repobilityId": "3c922a69ab6ee479", "scanner": "scanner-primary", "fingerprint": "877afe0ae5e6cb96", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5bf5da471d0ebb49", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/create (server/http/auth/auth.integration.test.ts:354)"}, "properties": {"repobilityId": "3d308ccce8ce93ea", "scanner": "scanner-primary", "fingerprint": "5bf5da471d0ebb49", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-871a43608219e550", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:377)"}, "properties": {"repobilityId": "55bf62436e9acc5b", "scanner": "scanner-primary", "fingerprint": "871a43608219e550", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f904d5a0b2887de5", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:389)"}, "properties": {"repobilityId": "b12f06ea35bc0e73", "scanner": "scanner-primary", "fingerprint": "f904d5a0b2887de5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-80f33656b07d7b1a", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.integration.test.ts:407)"}, "properties": {"repobilityId": "1dff4a1fbf70011b", "scanner": "scanner-primary", "fingerprint": "80f33656b07d7b1a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c6edbd9e8d6c26b7", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:28)"}, "properties": {"repobilityId": "766f11baaacf5ef5", "scanner": "scanner-primary", "fingerprint": "c6edbd9e8d6c26b7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6c6c1f06218b1633", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:44)"}, "properties": {"repobilityId": "99b916bc167fdf4f", "scanner": "scanner-primary", "fingerprint": "6c6c1f06218b1633", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-02d954e006227576", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:55)"}, "properties": {"repobilityId": "27390d03781c2f48", "scanner": "scanner-primary", "fingerprint": "02d954e006227576", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-debc8e29a73c5f4f", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:65)"}, "properties": {"repobilityId": "627093ee07745fd9", "scanner": "scanner-primary", "fingerprint": "debc8e29a73c5f4f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2fae653889087895", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:80)"}, "properties": {"repobilityId": "85bc8debf22f8533", "scanner": "scanner-primary", "fingerprint": "2fae653889087895", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b9a9254213a0057f", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth-username.integration.test.ts:85)"}, "properties": {"repobilityId": "d94747ae76d0ff45", "scanner": "scanner-primary", "fingerprint": "b9a9254213a0057f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-15bfe1bd10c673bf", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.cf-test.ts:16)"}, "properties": {"repobilityId": "9a255a83fc354abf", "scanner": "scanner-primary", "fingerprint": "15bfe1bd10c673bf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7edc50e7c56871dc", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/auth/auth.cf-test.ts:29)"}, "properties": {"repobilityId": "dba1b551d880b9f5", "scanner": "scanner-primary", "fingerprint": "7edc50e7c56871dc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-966bd7af70c8bb67", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/options/${key} (server/http/site/system.integration.test.ts:17)"}, "properties": {"repobilityId": "86cac8a2aca6ac67", "scanner": "scanner-primary", "fingerprint": "966bd7af70c8bb67", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-50edbc22f14451a3", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/options/site_name (server/http/site/system.integration.test.ts:27)"}, "properties": {"repobilityId": "74e98d83e213416d", "scanner": "scanner-primary", "fingerprint": "50edbc22f14451a3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-39d85588de643f04", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/options/site_name (server/http/site/system.integration.test.ts:41)"}, "properties": {"repobilityId": "9ea3357397f02dc9", "scanner": "scanner-primary", "fingerprint": "39d85588de643f04", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1e63211689e9db95", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/options/smtp_password (server/http/site/system.integration.test.ts:52)"}, "properties": {"repobilityId": "1b9ce5bbe28304f6", "scanner": "scanner-primary", "fingerprint": "1e63211689e9db95", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-05916a349c26a8bc", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/options/smtp_password (server/http/site/system.integration.test.ts:56)"}, "properties": {"repobilityId": "3f9edc93e4e49219", "scanner": "scanner-primary", "fingerprint": "05916a349c26a8bc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ad956b587518ec25", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/options (server/http/site/system.integration.test.ts:61)"}, "properties": {"repobilityId": "4b705b825e6cb365", "scanner": "scanner-primary", "fingerprint": "ad956b587518ec25", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-78adb4dbc6acfb06", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/options (server/http/site/system.integration.test.ts:66)"}, "properties": {"repobilityId": "a1f16458b7b69530", "scanner": "scanner-primary", "fingerprint": "78adb4dbc6acfb06", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-39a6aa43b4218104", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/options/site_name (server/http/site/system.integration.test.ts:76)"}, "properties": {"repobilityId": "b5edfe382f64e4ce", "scanner": "scanner-primary", "fingerprint": "39a6aa43b4218104", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5b9772ec96fc3a35", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/options/site_name (server/http/site/system.integration.test.ts:78)"}, "properties": {"repobilityId": "919eaa5e3ab03d94", "scanner": "scanner-primary", "fingerprint": "5b9772ec96fc3a35", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6525b6a0e6d1d9d4", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/options/site_name (server/http/site/system.integration.test.ts:84)"}, "properties": {"repobilityId": "c96179bdd8c343a2", "scanner": "scanner-primary", "fingerprint": "6525b6a0e6d1d9d4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-974616642ca473e8", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/options/site_name (server/http/site/system.integration.test.ts:91)"}, "properties": {"repobilityId": "d422399350c6a622", "scanner": "scanner-primary", "fingerprint": "974616642ca473e8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1803b6ae7821d727", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/instance (server/http/site/system.integration.test.ts:126)"}, "properties": {"repobilityId": "29b095f0852b9658", "scanner": "scanner-primary", "fingerprint": "1803b6ae7821d727", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dca2b1bd7c210d68", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/instance (server/http/site/system.integration.test.ts:130)"}, "properties": {"repobilityId": "47a04aa396c639b5", "scanner": "scanner-primary", "fingerprint": "dca2b1bd7c210d68", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-47fe7935cf0062be", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/changelog (server/http/site/system.integration.test.ts:160)"}, "properties": {"repobilityId": "f1f4b5841244a75b", "scanner": "scanner-primary", "fingerprint": "47fe7935cf0062be", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d910612875ae687a", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/changelog (server/http/site/system.integration.test.ts:164)"}, "properties": {"repobilityId": "5d6bfcdd1dfad5e8", "scanner": "scanner-primary", "fingerprint": "d910612875ae687a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8b9fd6365179ba25", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/options (server/http/site/system.integration.test.ts:192)"}, "properties": {"repobilityId": "666e2c9b09679b03", "scanner": "scanner-primary", "fingerprint": "8b9fd6365179ba25", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6a549faefd163ff5", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/options/${CAPTCHA_SECRET_OPTION_KEY} (server/http/site/system.integration.test.ts:198)"}, "properties": {"repobilityId": "2e00a0f04c5d5df7", "scanner": "scanner-primary", "fingerprint": "6a549faefd163ff5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-55ef7e012b80eaa6", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/auth-providers/${providerId} (server/http/site/auth-providers.integration.test.ts:26)"}, "properties": {"repobilityId": "7d5c96b25d2cb996", "scanner": "scanner-primary", "fingerprint": "55ef7e012b80eaa6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0b679b01de533bd3", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:36)"}, "properties": {"repobilityId": "74f052f8b1a16de8", "scanner": "scanner-primary", "fingerprint": "0b679b01de533bd3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-96982355b4dd8a96", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:50)"}, "properties": {"repobilityId": "02adc1590d6ec01f", "scanner": "scanner-primary", "fingerprint": "96982355b4dd8a96", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a73f9e60c0fe1b26", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:63)"}, "properties": {"repobilityId": "bd78bf0b9adcff96", "scanner": "scanner-primary", "fingerprint": "a73f9e60c0fe1b26", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2055fdb4ee7d9b45", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:74)"}, "properties": {"repobilityId": "b59f805d207ef5b6", "scanner": "scanner-primary", "fingerprint": "2055fdb4ee7d9b45", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a19bb7954b7c3903", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:86)"}, "properties": {"repobilityId": "5333b7ba2147f981", "scanner": "scanner-primary", "fingerprint": "a19bb7954b7c3903", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-caa6783d15131ae8", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:100)"}, "properties": {"repobilityId": "8774839b5a49bb21", "scanner": "scanner-primary", "fingerprint": "caa6783d15131ae8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a8bbf8f532fbcdde", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:113)"}, "properties": {"repobilityId": "14e81c866919a3f0", "scanner": "scanner-primary", "fingerprint": "a8bbf8f532fbcdde", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0cc35cd26aa3da67", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:132)"}, "properties": {"repobilityId": "fee0c57f6c4761ae", "scanner": "scanner-primary", "fingerprint": "0cc35cd26aa3da67", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ed7cb2346f1d0a99", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:142)"}, "properties": {"repobilityId": "22b36947adaf9367", "scanner": "scanner-primary", "fingerprint": "ed7cb2346f1d0a99", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5051b1ea7ca330cc", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:156)"}, "properties": {"repobilityId": "89a62756782bfad0", "scanner": "scanner-primary", "fingerprint": "5051b1ea7ca330cc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8c2fa163d187b854", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:167)"}, "properties": {"repobilityId": "842b20dd22d4d3eb", "scanner": "scanner-primary", "fingerprint": "8c2fa163d187b854", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4c148169ba2b6e54", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:180)"}, "properties": {"repobilityId": "8657ae86154c035e", "scanner": "scanner-primary", "fingerprint": "4c148169ba2b6e54", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2d30b9641ce9c150", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:189)"}, "properties": {"repobilityId": "31cd4ba0ac6477ff", "scanner": "scanner-primary", "fingerprint": "2d30b9641ce9c150", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-baa8ae7e15f8d9d1", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:264)"}, "properties": {"repobilityId": "b13206a0422a83a0", "scanner": "scanner-primary", "fingerprint": "baa8ae7e15f8d9d1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5e6d0d3f149e1409", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:332)"}, "properties": {"repobilityId": "fe31daa7216918fc", "scanner": "scanner-primary", "fingerprint": "5e6d0d3f149e1409", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c44b9961ddcaf272", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:342)"}, "properties": {"repobilityId": "c3ea418608b06339", "scanner": "scanner-primary", "fingerprint": "c44b9961ddcaf272", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-500cc1751fdec954", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:354)"}, "properties": {"repobilityId": "14d32e865fca017a", "scanner": "scanner-primary", "fingerprint": "500cc1751fdec954", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e514e6ea3c7e80cb", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:356)"}, "properties": {"repobilityId": "0d1d45190ad52c27", "scanner": "scanner-primary", "fingerprint": "e514e6ea3c7e80cb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-07472f32cc8f01c0", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:366)"}, "properties": {"repobilityId": "bac62f87ab6cc2a7", "scanner": "scanner-primary", "fingerprint": "07472f32cc8f01c0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-51e2cd0404985d55", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/auth-providers (server/http/site/auth-providers.integration.test.ts:368)"}, "properties": {"repobilityId": "715020b9a0c5b309", "scanner": "scanner-primary", "fingerprint": "51e2cd0404985d55", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d33c930d123d7a5f", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/auth-providers/github (server/http/site/auth-providers.integration.test.ts:377)"}, "properties": {"repobilityId": "7043d560ce57093a", "scanner": "scanner-primary", "fingerprint": "d33c930d123d7a5f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cae92e16cdee19ac", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:7)"}, "properties": {"repobilityId": "170d2b7633a6be3a", "scanner": "scanner-primary", "fingerprint": "cae92e16cdee19ac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5666c126d3ab98cb", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:15)"}, "properties": {"repobilityId": "e520b49f070d04a4", "scanner": "scanner-primary", "fingerprint": "5666c126d3ab98cb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1bd7fb63ef1239fd", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:23)"}, "properties": {"repobilityId": "a2ecfeea5845d85b", "scanner": "scanner-primary", "fingerprint": "1bd7fb63ef1239fd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-153ccf21e50bb28e", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:36)"}, "properties": {"repobilityId": "4ad336dd33fb67f7", "scanner": "scanner-primary", "fingerprint": "153ccf21e50bb28e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-851e490bab423dc7", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:79)"}, "properties": {"repobilityId": "ad72e989cc271978", "scanner": "scanner-primary", "fingerprint": "851e490bab423dc7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d00a82e119d2257a", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events?orgId=org-x (server/http/site/audit.integration.test.ts:119)"}, "properties": {"repobilityId": "8e5ee6a2121fbb12", "scanner": "scanner-primary", "fingerprint": "d00a82e119d2257a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-08cec3921e97974d", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events?userId=alice (server/http/site/audit.integration.test.ts:157)"}, "properties": {"repobilityId": "ef9995d72aed1815", "scanner": "scanner-primary", "fingerprint": "08cec3921e97974d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d6e83504b564938a", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events?action=upload (server/http/site/audit.integration.test.ts:194)"}, "properties": {"repobilityId": "a0a6e7ca6512158e", "scanner": "scanner-primary", "fingerprint": "d6e83504b564938a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-322ba17b5d44fe30", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events?targetType=folder (server/http/site/audit.integration.test.ts:231)"}, "properties": {"repobilityId": "89b23b53c6c6428a", "scanner": "scanner-primary", "fingerprint": "322ba17b5d44fe30", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0c3f9abde640f1c5", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events?page=2&pageSize=2&orgId=org-pg (server/http/site/audit.integration.test.ts:258)"}, "properties": {"repobilityId": "78b7601ff7aadd14", "scanner": "scanner-primary", "fingerprint": "0c3f9abde640f1c5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2da327075618ecf0", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events (server/http/site/audit.integration.test.ts:298)"}, "properties": {"repobilityId": "c0fa4ae97fb6178d", "scanner": "scanner-primary", "fingerprint": "2da327075618ecf0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-926f7e4d7c97cd55", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/announcements (server/http/site/announcements.integration.test.ts:16)"}, "properties": {"repobilityId": "6175e50e011e7148", "scanner": "scanner-primary", "fingerprint": "926f7e4d7c97cd55", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-74d142ace873001a", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/announcements?scope=all (server/http/site/announcements.integration.test.ts:27)"}, "properties": {"repobilityId": "0e0e6016c8fffecc", "scanner": "scanner-primary", "fingerprint": "74d142ace873001a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fffd51c1fdbff09e", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/announcements?scope=all (server/http/site/announcements.integration.test.ts:37)"}, "properties": {"repobilityId": "bebb0de22f0b671b", "scanner": "scanner-primary", "fingerprint": "fffd51c1fdbff09e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ae098c82cfe07a2a", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/announcements?scope=all (server/http/site/announcements.integration.test.ts:45)"}, "properties": {"repobilityId": "8719d6d85a40a51f", "scanner": "scanner-primary", "fingerprint": "ae098c82cfe07a2a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5fe5b215391f1486", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/announcements (server/http/site/announcements.integration.test.ts:56)"}, "properties": {"repobilityId": "ba53e83dad5acedb", "scanner": "scanner-primary", "fingerprint": "5fe5b215391f1486", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5de5c5e49f90f138", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/announcements/${created.id} (server/http/site/announcements.integration.test.ts:65)"}, "properties": {"repobilityId": "d3e9dd7cb83e2a33", "scanner": "scanner-primary", "fingerprint": "5de5c5e49f90f138", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0834523db609150f", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/announcements?status=published (server/http/site/announcements.integration.test.ts:75)"}, "properties": {"repobilityId": "cfc786667a3ca23f", "scanner": "scanner-primary", "fingerprint": "0834523db609150f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3aea9c130f2f46e0", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/announcements/${created.id} (server/http/site/announcements.integration.test.ts:81)"}, "properties": {"repobilityId": "ec4fa0fb7c8d516a", "scanner": "scanner-primary", "fingerprint": "3aea9c130f2f46e0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8fd17a3dd19d90a1", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/announcements (server/http/site/announcements.integration.test.ts:89)"}, "properties": {"repobilityId": "80733ed5db02afb7", "scanner": "scanner-primary", "fingerprint": "8fd17a3dd19d90a1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5f8dae7e3f22811a", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/announcements (server/http/site/announcements.integration.test.ts:98)"}, "properties": {"repobilityId": "c2da8697f24c2977", "scanner": "scanner-primary", "fingerprint": "5f8dae7e3f22811a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e5910979f655402b", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/announcements?scope=active (server/http/site/announcements.integration.test.ts:110)"}, "properties": {"repobilityId": "7aaa347f88e4d1c9", "scanner": "scanner-primary", "fingerprint": "e5910979f655402b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0c45ee8cda4748d2", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/announcements (server/http/site/announcements.integration.test.ts:121)"}, "properties": {"repobilityId": "65f7074a4ea54012", "scanner": "scanner-primary", "fingerprint": "0c45ee8cda4748d2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c7b64593b71df44d", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/announcements/${created.id} (server/http/site/announcements.integration.test.ts:128)"}, "properties": {"repobilityId": "5fe31025dff19a94", "scanner": "scanner-primary", "fingerprint": "c7b64593b71df44d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4505341ba692be60", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/announcements?scope=active (server/http/site/announcements.integration.test.ts:136)"}, "properties": {"repobilityId": "8f759f0c60bfd1d5", "scanner": "scanner-primary", "fingerprint": "4505341ba692be60", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-47ce62a7df19e6c8", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/announcements (server/http/site/announcements.integration.test.ts:140)"}, "properties": {"repobilityId": "73e04a3760bf52b9", "scanner": "scanner-primary", "fingerprint": "47ce62a7df19e6c8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-51d3bab4fd90dad5", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/announcements (server/http/site/announcements.integration.test.ts:150)"}, "properties": {"repobilityId": "67d67cecd06d0c84", "scanner": "scanner-primary", "fingerprint": "51d3bab4fd90dad5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6306b594fbba2a37", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/announcements (server/http/site/announcements.integration.test.ts:157)"}, "properties": {"repobilityId": "3f0119749ff1f57d", "scanner": "scanner-primary", "fingerprint": "6306b594fbba2a37", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dee6b63468bd06f6", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/announcements?page=abc&pageSize=xyz (server/http/site/announcements.integration.test.ts:169)"}, "properties": {"repobilityId": "2bccfb3794fc41cc", "scanner": "scanner-primary", "fingerprint": "dee6b63468bd06f6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b7d729d8be5f2a89", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/site/audit-events.integration.test.ts:108)"}, "properties": {"repobilityId": "cc3d992b16eb2d7e", "scanner": "scanner-primary", "fingerprint": "b7d729d8be5f2a89", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7e7c77106fb4ad68", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/${matterId}/status (server/http/site/audit-events.integration.test.ts:117)"}, "properties": {"repobilityId": "d7c2318afea9072a", "scanner": "scanner-primary", "fingerprint": "7e7c77106fb4ad68", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f49c85d4ffd97059", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects (server/http/site/audit-events.integration.test.ts:138)"}, "properties": {"repobilityId": "30a5be12bfbe1e04", "scanner": "scanner-primary", "fingerprint": "f49c85d4ffd97059", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a4468c0f78673d05", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/objects/${matterId} (server/http/site/audit-events.integration.test.ts:146)"}, "properties": {"repobilityId": "be0708b080becad3", "scanner": "scanner-primary", "fingerprint": "a4468c0f78673d05", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bf7c4f2896c38947", "level": "error", "message": {"text": "Dangling fetch: POST /api/objects/src-file/copies (server/http/site/audit-events.integration.test.ts:167)"}, "properties": {"repobilityId": "78bc916ec31c1e64", "scanner": "scanner-primary", "fingerprint": "bf7c4f2896c38947", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-313efb90247a2584", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/objects/trashed-file (server/http/site/audit-events.integration.test.ts:189)"}, "properties": {"repobilityId": "39e9781858a376ac", "scanner": "scanner-primary", "fingerprint": "313efb90247a2584", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2c9bd11347934dae", "level": "error", "message": {"text": "Dangling fetch: PUT /api/objects/trash-file/status (server/http/site/audit-events.integration.test.ts:211)"}, "properties": {"repobilityId": "266a9f304a08a5ea", "scanner": "scanner-primary", "fingerprint": "2c9bd11347934dae", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9cc38c3a79967ba7", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/trash (server/http/site/audit-events.integration.test.ts:233)"}, "properties": {"repobilityId": "fbc9e0cee41db847", "scanner": "scanner-primary", "fingerprint": "9cc38c3a79967ba7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3803ae53384be74a", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/trash (server/http/site/audit-events.integration.test.ts:252)"}, "properties": {"repobilityId": "6b873638f72b1132", "scanner": "scanner-primary", "fingerprint": "3803ae53384be74a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0ff083174a814845", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares (server/http/site/audit-events.integration.test.ts:272)"}, "properties": {"repobilityId": "e2fb91654f0c510a", "scanner": "scanner-primary", "fingerprint": "0ff083174a814845", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ea82fc735b0cbfc0", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares (server/http/site/audit-events.integration.test.ts:299)"}, "properties": {"repobilityId": "5da1bce38aae18f0", "scanner": "scanner-primary", "fingerprint": "ea82fc735b0cbfc0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2ef2a1d431cd7c08", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/shares/${token} (server/http/site/audit-events.integration.test.ts:306)"}, "properties": {"repobilityId": "d8ebd4e36d92ffed", "scanner": "scanner-primary", "fingerprint": "2ef2a1d431cd7c08", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1dd201027b9f3649", "level": "error", "message": {"text": "Dangling fetch: POST /api/teams/${orgId}/invite-links (server/http/site/audit-events.integration.test.ts:328)"}, "properties": {"repobilityId": "8dd2a6249383058c", "scanner": "scanner-primary", "fingerprint": "1dd201027b9f3649", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-692c01ada2ce5bb7", "level": "error", "message": {"text": "Dangling fetch: POST /api/teams/${orgId}/invite-links (server/http/site/audit-events.integration.test.ts:350)"}, "properties": {"repobilityId": "e3c793de61b86500", "scanner": "scanner-primary", "fingerprint": "692c01ada2ce5bb7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5f09437701610ebe", "level": "error", "message": {"text": "Dangling fetch: POST /api/teams/${orgId}/members (server/http/site/audit-events.integration.test.ts:359)"}, "properties": {"repobilityId": "6cba55b76a123f5b", "scanner": "scanner-primary", "fingerprint": "5f09437701610ebe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bfd21f3e2678ea19", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/options/site_title (server/http/site/audit-events.integration.test.ts:381)"}, "properties": {"repobilityId": "c5658a2a0aae8f11", "scanner": "scanner-primary", "fingerprint": "bfd21f3e2678ea19", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-942c1f2518c2bf19", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/options/temp_key (server/http/site/audit-events.integration.test.ts:400)"}, "properties": {"repobilityId": "e8944d7ddf6a74f3", "scanner": "scanner-primary", "fingerprint": "942c1f2518c2bf19", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c7acb12512ba919a", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/options/temp_key (server/http/site/audit-events.integration.test.ts:406)"}, "properties": {"repobilityId": "a2b6bc1de2b0baeb", "scanner": "scanner-primary", "fingerprint": "c7acb12512ba919a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a318c008b9e1986f", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/audit-events.integration.test.ts:428)"}, "properties": {"repobilityId": "82688a60f652603c", "scanner": "scanner-primary", "fingerprint": "a318c008b9e1986f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a333da70452af76b", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/audit-events.integration.test.ts:458)"}, "properties": {"repobilityId": "059c86e0b8b25679", "scanner": "scanner-primary", "fingerprint": "a333da70452af76b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a527c535860019b0", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/storages/${storageId} (server/http/site/audit-events.integration.test.ts:473)"}, "properties": {"repobilityId": "287750719a8d0b96", "scanner": "scanner-primary", "fingerprint": "a527c535860019b0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-024fe284e1c5a833", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/audit-events.integration.test.ts:492)"}, "properties": {"repobilityId": "f70619e81726e6ae", "scanner": "scanner-primary", "fingerprint": "024fe284e1c5a833", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-27d08f53d50d9dfe", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/storages/${storageId} (server/http/site/audit-events.integration.test.ts:507)"}, "properties": {"repobilityId": "b0b26cf4fe759236", "scanner": "scanner-primary", "fingerprint": "27d08f53d50d9dfe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2a4a4d0b6b017e76", "level": "error", "message": {"text": "Dangling fetch: POST /api/users/${userId}/entitlements (server/http/site/audit-events.integration.test.ts:530)"}, "properties": {"repobilityId": "dd82b46b0ad5604d", "scanner": "scanner-primary", "fingerprint": "2a4a4d0b6b017e76", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-65758ff96418da20", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/audit-events.integration.test.ts:555)"}, "properties": {"repobilityId": "3b0201ed84b88634", "scanner": "scanner-primary", "fingerprint": "65758ff96418da20", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c494ba5e3d8d6709", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/audit-events.integration.test.ts:575)"}, "properties": {"repobilityId": "2555f20fa337dbfe", "scanner": "scanner-primary", "fingerprint": "c494ba5e3d8d6709", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e1f46a01351bbda1", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/invite-codes/${codes[0].id} (server/http/site/audit-events.integration.test.ts:582)"}, "properties": {"repobilityId": "2ec6b9d7b20d9de7", "scanner": "scanner-primary", "fingerprint": "e1f46a01351bbda1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-acddec6bc5bc3b40", "level": "error", "message": {"text": "Dangling fetch: GET /api/users (server/http/site/audit-events.integration.test.ts:604)"}, "properties": {"repobilityId": "872513388c74abd9", "scanner": "scanner-primary", "fingerprint": "acddec6bc5bc3b40", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f46cd241e10fbd19", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/${target!.id} (server/http/site/audit-events.integration.test.ts:609)"}, "properties": {"repobilityId": "297ae43a77078839", "scanner": "scanner-primary", "fingerprint": "f46cd241e10fbd19", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9d6a6de2a4f39a94", "level": "error", "message": {"text": "Dangling fetch: GET /api/users (server/http/site/audit-events.integration.test.ts:627)"}, "properties": {"repobilityId": "5c5520ea271df448", "scanner": "scanner-primary", "fingerprint": "9d6a6de2a4f39a94", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5ba1007c3408b71e", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/${target.id} (server/http/site/audit-events.integration.test.ts:632)"}, "properties": {"repobilityId": "86a0f631e03704fe", "scanner": "scanner-primary", "fingerprint": "5ba1007c3408b71e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-11a6679fe078517d", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/users/${target.id} (server/http/site/audit-events.integration.test.ts:639)"}, "properties": {"repobilityId": "eeed6b4e9502dc77", "scanner": "scanner-primary", "fingerprint": "11a6679fe078517d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8b7b2674741d72f9", "level": "error", "message": {"text": "Dangling fetch: GET /api/users (server/http/site/audit-events.integration.test.ts:657)"}, "properties": {"repobilityId": "e3fdc33da257a360", "scanner": "scanner-primary", "fingerprint": "8b7b2674741d72f9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9c2bffc93d63c9d5", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/users/${target.id} (server/http/site/audit-events.integration.test.ts:661)"}, "properties": {"repobilityId": "69763bb22d637258", "scanner": "scanner-primary", "fingerprint": "9c2bffc93d63c9d5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3e54f015fe0665d8", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/site/audit-events.integration.test.ts:687)"}, "properties": {"repobilityId": "96c7fe5c534def4b", "scanner": "scanner-primary", "fingerprint": "3e54f015fe0665d8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-189b029751eafefe", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${rootRef}?downloadUrl=1 (server/http/site/audit-events.integration.test.ts:691)"}, "properties": {"repobilityId": "72336aa1da4fd4c1", "scanner": "scanner-primary", "fingerprint": "189b029751eafefe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-32dde567d1e021e9", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token} (server/http/site/audit-events.integration.test.ts:714)"}, "properties": {"repobilityId": "65dabfe2466dc04a", "scanner": "scanner-primary", "fingerprint": "32dde567d1e021e9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-727d1709f8adfad0", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${meta.rootRef}?downloadUrl=1 (server/http/site/audit-events.integration.test.ts:718)"}, "properties": {"repobilityId": "38703b5ec4d9e2a9", "scanner": "scanner-primary", "fingerprint": "727d1709f8adfad0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e48eb4f5be6c008e", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/create (server/http/site/audit-events.integration.test.ts:740)"}, "properties": {"repobilityId": "1d8f316f086c9802", "scanner": "scanner-primary", "fingerprint": "e48eb4f5be6c008e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1425edd93b245035", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/update (server/http/site/audit-events.integration.test.ts:749)"}, "properties": {"repobilityId": "293f16d4241d3689", "scanner": "scanner-primary", "fingerprint": "1425edd93b245035", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f48e0d96f8ba2c3b", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/get-session (server/http/site/audit-events.integration.test.ts:769)"}, "properties": {"repobilityId": "d49f69d1033cfe8b", "scanner": "scanner-primary", "fingerprint": "f48e0d96f8ba2c3b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fe61c009892ba1cf", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/create (server/http/site/audit-events.integration.test.ts:774)"}, "properties": {"repobilityId": "3df1d4ab18657e11", "scanner": "scanner-primary", "fingerprint": "fe61c009892ba1cf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6155a8968393d00b", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/remove-member (server/http/site/audit-events.integration.test.ts:792)"}, "properties": {"repobilityId": "72ac69b281781c2d", "scanner": "scanner-primary", "fingerprint": "6155a8968393d00b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a5898feaae9ea9c1", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/create (server/http/site/audit-events.integration.test.ts:821)"}, "properties": {"repobilityId": "a1eeca2f498d3d66", "scanner": "scanner-primary", "fingerprint": "a5898feaae9ea9c1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0f1a2f9315d7361c", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/update-member-role (server/http/site/audit-events.integration.test.ts:836)"}, "properties": {"repobilityId": "b10984d1e7efab65", "scanner": "scanner-primary", "fingerprint": "0f1a2f9315d7361c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f9543dc0e25aabb1", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/create (server/http/site/audit-events.integration.test.ts:857)"}, "properties": {"repobilityId": "707649961b4c6b95", "scanner": "scanner-primary", "fingerprint": "f9543dc0e25aabb1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f76e29b1af6699ab", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/delete (server/http/site/audit-events.integration.test.ts:865)"}, "properties": {"repobilityId": "484c7063985ab7a5", "scanner": "scanner-primary", "fingerprint": "f76e29b1af6699ab", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9d15695db2e1fa88", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/refresh-runs (server/http/site/audit-events.integration.test.ts:888)"}, "properties": {"repobilityId": "3b6ceb1207a8ee57", "scanner": "scanner-primary", "fingerprint": "9d15695db2e1fa88", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-30138d063d7cad1c", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/options/audit_test_key (server/http/site/audit-events.integration.test.ts:910)"}, "properties": {"repobilityId": "55c0ae7d54cf8a0c", "scanner": "scanner-primary", "fingerprint": "30138d063d7cad1c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5b88caece34701c3", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events?action=system_option_set (server/http/site/audit-events.integration.test.ts:916)"}, "properties": {"repobilityId": "c76bcccc52812a3e", "scanner": "scanner-primary", "fingerprint": "5b88caece34701c3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ba72090e315663b0", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/options/another_key (server/http/site/audit-events.integration.test.ts:929)"}, "properties": {"repobilityId": "2b6b3e7ed381cf77", "scanner": "scanner-primary", "fingerprint": "ba72090e315663b0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9a48752c724f26e1", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events?targetType=system (server/http/site/audit-events.integration.test.ts:935)"}, "properties": {"repobilityId": "64ce2f7bc8cae5f9", "scanner": "scanner-primary", "fingerprint": "9a48752c724f26e1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-18f0fa2d3a4e36d0", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events?action=upload (server/http/site/audit-events.integration.test.ts:953)"}, "properties": {"repobilityId": "eb674325fbe7b7fe", "scanner": "scanner-primary", "fingerprint": "18f0fa2d3a4e36d0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c39e1f32d0ae91c8", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/audit-events?targetType=file (server/http/site/audit-events.integration.test.ts:955)"}, "properties": {"repobilityId": "e87c79ec8bbb3edd", "scanner": "scanner-primary", "fingerprint": "c39e1f32d0ae91c8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1faf3a36d64d2e3c", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:39)"}, "properties": {"repobilityId": "30b88eb0e84797cb", "scanner": "scanner-primary", "fingerprint": "1faf3a36d64d2e3c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3c649594abd6837e", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:53)"}, "properties": {"repobilityId": "a67155ae4e7ba057", "scanner": "scanner-primary", "fingerprint": "3c649594abd6837e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1543ed4f66c770d8", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:59)"}, "properties": {"repobilityId": "863967aa8872976f", "scanner": "scanner-primary", "fingerprint": "1543ed4f66c770d8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e925c2c6a818b210", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:69)"}, "properties": {"repobilityId": "df3731dbc96a929c", "scanner": "scanner-primary", "fingerprint": "e925c2c6a818b210", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-665ad3a54437edbc", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:82)"}, "properties": {"repobilityId": "a95d700373608462", "scanner": "scanner-primary", "fingerprint": "665ad3a54437edbc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d2348ef4cb72096e", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:93)"}, "properties": {"repobilityId": "4c27a7537407f508", "scanner": "scanner-primary", "fingerprint": "d2348ef4cb72096e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f29d3b95ec583bd4", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:106)"}, "properties": {"repobilityId": "d871e1904c51da90", "scanner": "scanner-primary", "fingerprint": "f29d3b95ec583bd4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-310ea2614c110a5c", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:128)"}, "properties": {"repobilityId": "43e1e32750efd67f", "scanner": "scanner-primary", "fingerprint": "310ea2614c110a5c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3dfe73342e139240", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:151)"}, "properties": {"repobilityId": "6fda32e616683813", "scanner": "scanner-primary", "fingerprint": "3dfe73342e139240", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d768346ee60bc165", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:165)"}, "properties": {"repobilityId": "41536ad14760930e", "scanner": "scanner-primary", "fingerprint": "d768346ee60bc165", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2ea737352d6db834", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:190)"}, "properties": {"repobilityId": "20251d54095de497", "scanner": "scanner-primary", "fingerprint": "2ea737352d6db834", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3733445928dd8624", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:207)"}, "properties": {"repobilityId": "ba6a83afb2cc061d", "scanner": "scanner-primary", "fingerprint": "3733445928dd8624", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1612e8569cfed992", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:220)"}, "properties": {"repobilityId": "43d1b2fca1eae808", "scanner": "scanner-primary", "fingerprint": "1612e8569cfed992", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-457a9c6905282b39", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:242)"}, "properties": {"repobilityId": "d9fdf0566361d1da", "scanner": "scanner-primary", "fingerprint": "457a9c6905282b39", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e13db06124166bb7", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:256)"}, "properties": {"repobilityId": "14569b95d62a7b8a", "scanner": "scanner-primary", "fingerprint": "e13db06124166bb7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2dacba85bd7fb54b", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:268)"}, "properties": {"repobilityId": "d1eb7304de955f90", "scanner": "scanner-primary", "fingerprint": "2dacba85bd7fb54b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-eae772c422248ea3", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:280)"}, "properties": {"repobilityId": "0de89542cb9c65df", "scanner": "scanner-primary", "fingerprint": "eae772c422248ea3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-34c2998014fc70f5", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:292)"}, "properties": {"repobilityId": "cac457568f2520f7", "scanner": "scanner-primary", "fingerprint": "34c2998014fc70f5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2ef4dbd8ce70049f", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:303)"}, "properties": {"repobilityId": "7e6dba22cbb52778", "scanner": "scanner-primary", "fingerprint": "2ef4dbd8ce70049f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-81311edb1bb7a36c", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:314)"}, "properties": {"repobilityId": "2d1d87228734e53a", "scanner": "scanner-primary", "fingerprint": "81311edb1bb7a36c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ed66aa65cddcc0a2", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:326)"}, "properties": {"repobilityId": "86859ff2c13c754f", "scanner": "scanner-primary", "fingerprint": "ed66aa65cddcc0a2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e491279bb6914037", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:343)"}, "properties": {"repobilityId": "c47ac09a7d1c400b", "scanner": "scanner-primary", "fingerprint": "e491279bb6914037", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-46c537204a426398", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:353)"}, "properties": {"repobilityId": "c6ba5a2239376e93", "scanner": "scanner-primary", "fingerprint": "46c537204a426398", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e2fbfdc060fd1ded", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:365)"}, "properties": {"repobilityId": "bd67578805a869d1", "scanner": "scanner-primary", "fingerprint": "e2fbfdc060fd1ded", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2d19a5ad261d312d", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/email (server/http/site/email-config.integration.test.ts:376)"}, "properties": {"repobilityId": "87f4859bbdcc5e0c", "scanner": "scanner-primary", "fingerprint": "2d19a5ad261d312d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3d443604b08417f5", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:396)"}, "properties": {"repobilityId": "a7c9686a122bbe8c", "scanner": "scanner-primary", "fingerprint": "3d443604b08417f5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-54ac15af1bb3bbfe", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:418)"}, "properties": {"repobilityId": "6936ec760f2aa27b", "scanner": "scanner-primary", "fingerprint": "54ac15af1bb3bbfe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-08f6edae851c4afc", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:433)"}, "properties": {"repobilityId": "0ccec4a8ce6766d5", "scanner": "scanner-primary", "fingerprint": "08f6edae851c4afc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fef8d2212fe02913", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (server/http/site/email-config.integration.test.ts:448)"}, "properties": {"repobilityId": "409f12d763bcc166", "scanner": "scanner-primary", "fingerprint": "fef8d2212fe02913", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c41cadce916c7204", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:459)"}, "properties": {"repobilityId": "59d558b88e51c616", "scanner": "scanner-primary", "fingerprint": "c41cadce916c7204", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-12aa5e411ae98c93", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:476)"}, "properties": {"repobilityId": "59483eeb10295b61", "scanner": "scanner-primary", "fingerprint": "12aa5e411ae98c93", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9a74d80237183d7a", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/email/test-messages (server/http/site/email-config.integration.test.ts:490)"}, "properties": {"repobilityId": "3a61b660f1447acd", "scanner": "scanner-primary", "fingerprint": "9a74d80237183d7a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ebfb0c50b5ab2fb6", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/licensing/status (server/http/site/licensing.integration.test.ts:10)"}, "properties": {"repobilityId": "2b86155730c4aba4", "scanner": "scanner-primary", "fingerprint": "ebfb0c50b5ab2fb6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-aae20262a8b522bb", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/licensing/status (server/http/site/licensing.integration.test.ts:35)"}, "properties": {"repobilityId": "086b0bb38e5c8f0a", "scanner": "scanner-primary", "fingerprint": "aae20262a8b522bb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8e50416767585a13", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/licensing/status (server/http/site/licensing.integration.test.ts:60)"}, "properties": {"repobilityId": "e6ea4c1b661a2b08", "scanner": "scanner-primary", "fingerprint": "8e50416767585a13", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-86b38b8822286e79", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/licensing/status (server/http/site/licensing.integration.test.ts:69)"}, "properties": {"repobilityId": "34eee51b521ce5d1", "scanner": "scanner-primary", "fingerprint": "86b38b8822286e79", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f6666b1962606dbf", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=anything (server/http/site/licensing.integration.test.ts:96)"}, "properties": {"repobilityId": "d9f24610161a817f", "scanner": "scanner-primary", "fingerprint": "f6666b1962606dbf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-df1b7f8e4a03db69", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=wrong-secret (server/http/site/licensing.integration.test.ts:106)"}, "properties": {"repobilityId": "65be121432184b22", "scanner": "scanner-primary", "fingerprint": "df1b7f8e4a03db69", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d51359dca801c0e2", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron (server/http/site/licensing.integration.test.ts:116)"}, "properties": {"repobilityId": "2be6dd33af451783", "scanner": "scanner-primary", "fingerprint": "d51359dca801c0e2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-85072da5588d468a", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=correct-secret (server/http/site/licensing.integration.test.ts:124)"}, "properties": {"repobilityId": "a17eca0d76ed0461", "scanner": "scanner-primary", "fingerprint": "85072da5588d468a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a6db891f82085452", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=cron-secret (server/http/site/licensing.integration.test.ts:143)"}, "properties": {"repobilityId": "d88d07fd308cf309", "scanner": "scanner-primary", "fingerprint": "a6db891f82085452", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7f67a8416df9e695", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=cron-secret (server/http/site/licensing.integration.test.ts:158)"}, "properties": {"repobilityId": "f4c8d011e2f2d7ba", "scanner": "scanner-primary", "fingerprint": "7f67a8416df9e695", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1ddb14bb10e34379", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/refresh-cron?secret=my-secret (server/http/site/licensing.integration.test.ts:169)"}, "properties": {"repobilityId": "f1240c2717805f8d", "scanner": "scanner-primary", "fingerprint": "1ddb14bb10e34379", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1c9ee52819213c33", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/traffic-sync-runs?secret=traffic-secret (server/http/site/licensing.integration.test.ts:198)"}, "properties": {"repobilityId": "ce9397249432fb55", "scanner": "scanner-primary", "fingerprint": "1c9ee52819213c33", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c85e2cfe6692ee56", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/traffic-sync-runs?secret=wrong-secret (server/http/site/licensing.integration.test.ts:211)"}, "properties": {"repobilityId": "27702171abeadc99", "scanner": "scanner-primary", "fingerprint": "c85e2cfe6692ee56", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e8b0e5e4e23495d2", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:10)"}, "properties": {"repobilityId": "f25f3a4d27672ab7", "scanner": "scanner-primary", "fingerprint": "e8b0e5e4e23495d2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7802c0af7c1e5212", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:18)"}, "properties": {"repobilityId": "f002007b4b7b778b", "scanner": "scanner-primary", "fingerprint": "7802c0af7c1e5212", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-40df467bbfe65a45", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:24)"}, "properties": {"repobilityId": "0288973cc70227d3", "scanner": "scanner-primary", "fingerprint": "40df467bbfe65a45", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f70110a197f63fb1", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/invite-codes/someid (server/http/site/invite-codes.integration.test.ts:34)"}, "properties": {"repobilityId": "cbd11c619e9811ca", "scanner": "scanner-primary", "fingerprint": "f70110a197f63fb1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-842cbd8f6646b37c", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:43)"}, "properties": {"repobilityId": "c48d26e6e1453baa", "scanner": "scanner-primary", "fingerprint": "842cbd8f6646b37c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ee8e4a855f280bf0", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:53)"}, "properties": {"repobilityId": "fa6e335eb38e74cc", "scanner": "scanner-primary", "fingerprint": "ee8e4a855f280bf0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-52174cb8acf72985", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:59)"}, "properties": {"repobilityId": "2f066ca8fbe7cc78", "scanner": "scanner-primary", "fingerprint": "52174cb8acf72985", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6f718090fc6ab0e9", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:70)"}, "properties": {"repobilityId": "17b6a87641c139a8", "scanner": "scanner-primary", "fingerprint": "6f718090fc6ab0e9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-adc543f15e40fced", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/invite-codes?page=2&pageSize=3 (server/http/site/invite-codes.integration.test.ts:76)"}, "properties": {"repobilityId": "c5dd4189716bc97a", "scanner": "scanner-primary", "fingerprint": "adc543f15e40fced", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-75687353c1e8f2f0", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:88)"}, "properties": {"repobilityId": "1584bc098d844e46", "scanner": "scanner-primary", "fingerprint": "75687353c1e8f2f0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-86d25d02378b972a", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:101)"}, "properties": {"repobilityId": "fefde88c784af6b2", "scanner": "scanner-primary", "fingerprint": "86d25d02378b972a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5b807b22262b9da2", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:114)"}, "properties": {"repobilityId": "059cda9e5f5d8094", "scanner": "scanner-primary", "fingerprint": "5b807b22262b9da2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-900e949b7b771891", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:125)"}, "properties": {"repobilityId": "5f598a9e955833db", "scanner": "scanner-primary", "fingerprint": "900e949b7b771891", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4642fc62dbd1d9e8", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes (server/http/site/invite-codes.integration.test.ts:136)"}, "properties": {"repobilityId": "1e0f93e6ca432765", "scanner": "scanner-primary", "fingerprint": "4642fc62dbd1d9e8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2b35d107f7443da8", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/invite-codes/${row.id} (server/http/site/invite-codes.integration.test.ts:151)"}, "properties": {"repobilityId": "8596c21783c795e4", "scanner": "scanner-primary", "fingerprint": "2b35d107f7443da8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-37315b8ff1c58659", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/invite-codes/nonexistent (server/http/site/invite-codes.integration.test.ts:164)"}, "properties": {"repobilityId": "342cd5a8d133765b", "scanner": "scanner-primary", "fingerprint": "37315b8ff1c58659", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-41ebb6cd609345d9", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/invite-codes/${row.id} (server/http/site/invite-codes.integration.test.ts:177)"}, "properties": {"repobilityId": "f079ce27d3f59c10", "scanner": "scanner-primary", "fingerprint": "41ebb6cd609345d9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-13c42ed5fcabbb15", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:192)"}, "properties": {"repobilityId": "30de2f5560c4b212", "scanner": "scanner-primary", "fingerprint": "13c42ed5fcabbb15", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d42c8bbac33ad6c4", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:204)"}, "properties": {"repobilityId": "ab5f52fe909e7127", "scanner": "scanner-primary", "fingerprint": "d42c8bbac33ad6c4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b16a893fad7725e7", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:220)"}, "properties": {"repobilityId": "96a0ad761c9483d0", "scanner": "scanner-primary", "fingerprint": "b16a893fad7725e7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3182d873b4c7a32c", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:235)"}, "properties": {"repobilityId": "5d50d113fef4f847", "scanner": "scanner-primary", "fingerprint": "3182d873b4c7a32c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1c6065d5b49a1052", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:247)"}, "properties": {"repobilityId": "79367fb36612f927", "scanner": "scanner-primary", "fingerprint": "1c6065d5b49a1052", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-708e01a86fa87796", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:257)"}, "properties": {"repobilityId": "7607ed9e0ef53b55", "scanner": "scanner-primary", "fingerprint": "708e01a86fa87796", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3e59a4ac0983b5ce", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:267)"}, "properties": {"repobilityId": "c0e5853dcd80cc89", "scanner": "scanner-primary", "fingerprint": "3e59a4ac0983b5ce", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-387d07d1d7908869", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:277)"}, "properties": {"repobilityId": "3aec6e34106eea84", "scanner": "scanner-primary", "fingerprint": "387d07d1d7908869", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-23278d1641cc1fc0", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:287)"}, "properties": {"repobilityId": "a537626460937edc", "scanner": "scanner-primary", "fingerprint": "23278d1641cc1fc0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-189811286fab752f", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invite-codes/validations (server/http/site/invite-codes.integration.test.ts:300)"}, "properties": {"repobilityId": "211c96fd0c10fc1c", "scanner": "scanner-primary", "fingerprint": "189811286fab752f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-89d43b783b7b33dd", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/options/${key} (server/http/site/system.test.ts:17)"}, "properties": {"repobilityId": "10dc09d3e5be6575", "scanner": "scanner-primary", "fingerprint": "89d43b783b7b33dd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-81dc78c4dc0f935a", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/options (server/http/site/system.cf-test.ts:16)"}, "properties": {"repobilityId": "a2c675ba00ec9834", "scanner": "scanner-primary", "fingerprint": "81dc78c4dc0f935a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0fa02e389199599a", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/options/nonexistent_key (server/http/site/system.cf-test.ts:24)"}, "properties": {"repobilityId": "cf4a52740375c7bc", "scanner": "scanner-primary", "fingerprint": "0fa02e389199599a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ee970a2d064c825d", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/pairings (server/http/site/licensing-admin.integration.test.ts:60)"}, "properties": {"repobilityId": "96386195d98cdef9", "scanner": "scanner-primary", "fingerprint": "ee970a2d064c825d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2ba5de160df8d653", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/licensing/pairings/ABC-123 (server/http/site/licensing-admin.integration.test.ts:66)"}, "properties": {"repobilityId": "9cdc09e9c0e57cca", "scanner": "scanner-primary", "fingerprint": "2ba5de160df8d653", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8142865c8642d18c", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/refresh-runs (server/http/site/licensing-admin.integration.test.ts:72)"}, "properties": {"repobilityId": "ced55326d68dba39", "scanner": "scanner-primary", "fingerprint": "8142865c8642d18c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3f3cb1b0ffe43218", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/licensing/binding (server/http/site/licensing-admin.integration.test.ts:78)"}, "properties": {"repobilityId": "8322eeeeae01b07c", "scanner": "scanner-primary", "fingerprint": "3f3cb1b0ffe43218", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-94290aae44dd6e89", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/pairings (server/http/site/licensing-admin.integration.test.ts:92)"}, "properties": {"repobilityId": "9d270dc5cbd1652b", "scanner": "scanner-primary", "fingerprint": "94290aae44dd6e89", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ddd4c1590f2ad83b", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/pairings (server/http/site/licensing-admin.integration.test.ts:122)"}, "properties": {"repobilityId": "2e6809910e8ae0d3", "scanner": "scanner-primary", "fingerprint": "ddd4c1590f2ad83b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-76a4ec48d19f73ee", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/licensing/pairings/ABC-123 (server/http/site/licensing-admin.integration.test.ts:157)"}, "properties": {"repobilityId": "6196390791367e87", "scanner": "scanner-primary", "fingerprint": "76a4ec48d19f73ee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2221027a54bbf755", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:179)"}, "properties": {"repobilityId": "38756bcbb0fe1cb0", "scanner": "scanner-primary", "fingerprint": "2221027a54bbf755", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e071eea37c700e79", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:211)"}, "properties": {"repobilityId": "af93e23f2a5d3c47", "scanner": "scanner-primary", "fingerprint": "e071eea37c700e79", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1628bf2e9c38350e", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:237)"}, "properties": {"repobilityId": "4d2c8f83400218ae", "scanner": "scanner-primary", "fingerprint": "1628bf2e9c38350e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-11c2d861307ec51b", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:255)"}, "properties": {"repobilityId": "ce37720ac7235842", "scanner": "scanner-primary", "fingerprint": "11c2d861307ec51b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6bb53beb7f0784f8", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:275)"}, "properties": {"repobilityId": "8a76afca35060bb8", "scanner": "scanner-primary", "fingerprint": "6bb53beb7f0784f8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d2edb801dc4bc91b", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/licensing/pairings/CODE-1 (server/http/site/licensing-admin.integration.test.ts:310)"}, "properties": {"repobilityId": "1f7eae41785c47ca", "scanner": "scanner-primary", "fingerprint": "d2edb801dc4bc91b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5b4eb72993597a21", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/refresh-runs (server/http/site/licensing-admin.integration.test.ts:354)"}, "properties": {"repobilityId": "0e8d0652da1ae82b", "scanner": "scanner-primary", "fingerprint": "5b4eb72993597a21", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-58e80c3d9c846a51", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/licensing/refresh-runs (server/http/site/licensing-admin.integration.test.ts:366)"}, "properties": {"repobilityId": "b9d8791349f67f86", "scanner": "scanner-primary", "fingerprint": "58e80c3d9c846a51", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4e41ed91f3ca8142", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/licensing/binding (server/http/site/licensing-admin.integration.test.ts:391)"}, "properties": {"repobilityId": "d19e7e843063e7de", "scanner": "scanner-primary", "fingerprint": "4e41ed91f3ca8142", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1f0f6f2917cd63e0", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/licensing/binding (server/http/site/licensing-admin.integration.test.ts:413)"}, "properties": {"repobilityId": "56286c99878b5049", "scanner": "scanner-primary", "fingerprint": "1f0f6f2917cd63e0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0d36f47810c2d972", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/licensing/binding (server/http/site/licensing-admin.integration.test.ts:428)"}, "properties": {"repobilityId": "7fe8470400ef63b2", "scanner": "scanner-primary", "fingerprint": "0d36f47810c2d972", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-189665c7a0dff204", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/site/storages.cf-test.ts:19)"}, "properties": {"repobilityId": "5e7e9e9921a897ee", "scanner": "scanner-primary", "fingerprint": "189665c7a0dff204", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0573a73fb8d6ee47", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/storages (server/http/site/storages.cf-test.ts:49)"}, "properties": {"repobilityId": "5c1a80d856053218", "scanner": "scanner-primary", "fingerprint": "0573a73fb8d6ee47", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c17706676ac683b3", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/storages (server/http/site/storages.cf-test.ts:56)"}, "properties": {"repobilityId": "5a7ef955db1d051f", "scanner": "scanner-primary", "fingerprint": "c17706676ac683b3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5e0462c92364ad88", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.cf-test.ts:65)"}, "properties": {"repobilityId": "5aca12b8d95649d9", "scanner": "scanner-primary", "fingerprint": "5e0462c92364ad88", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-654750d923943193", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.cf-test.ts:92)"}, "properties": {"repobilityId": "a7daac0816985324", "scanner": "scanner-primary", "fingerprint": "654750d923943193", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d9ce305c3d4ccac9", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/storages/${created.id} (server/http/site/storages.cf-test.ts:124)"}, "properties": {"repobilityId": "b4cd418f20c363fe", "scanner": "scanner-primary", "fingerprint": "d9ce305c3d4ccac9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c386e72026eea0a3", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/storages/${created.id} (server/http/site/storages.cf-test.ts:140)"}, "properties": {"repobilityId": "4477a5eaabf11dd6", "scanner": "scanner-primary", "fingerprint": "c386e72026eea0a3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-075e19e5d0685f7f", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/storages/${created.id} (server/http/site/storages.cf-test.ts:160)"}, "properties": {"repobilityId": "4d8ebcfac53cde4a", "scanner": "scanner-primary", "fingerprint": "075e19e5d0685f7f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0fa4e5ea576bb5d6", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:32)"}, "properties": {"repobilityId": "95746a42de212cbf", "scanner": "scanner-primary", "fingerprint": "0fa4e5ea576bb5d6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fb18e652bd2493dc", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:51)"}, "properties": {"repobilityId": "5eb7445f69718e2b", "scanner": "scanner-primary", "fingerprint": "fb18e652bd2493dc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-27174caffbc6f58e", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:60)"}, "properties": {"repobilityId": "744ee81d185745d8", "scanner": "scanner-primary", "fingerprint": "27174caffbc6f58e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2ff9dd339a74b3fe", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:72)"}, "properties": {"repobilityId": "ecb79592ae373f3b", "scanner": "scanner-primary", "fingerprint": "2ff9dd339a74b3fe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-47ff4fe6d4aa7105", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:92)"}, "properties": {"repobilityId": "6d05445ce56193d1", "scanner": "scanner-primary", "fingerprint": "47ff4fe6d4aa7105", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fa12f1860039f5d8", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:123)"}, "properties": {"repobilityId": "c3e3180e3435e544", "scanner": "scanner-primary", "fingerprint": "fa12f1860039f5d8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b19007760d850a95", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:132)"}, "properties": {"repobilityId": "8ad7101c9ee88adb", "scanner": "scanner-primary", "fingerprint": "b19007760d850a95", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-69e0080668325a54", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:139)"}, "properties": {"repobilityId": "142411a130d13793", "scanner": "scanner-primary", "fingerprint": "69e0080668325a54", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b223ca0889572012", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:149)"}, "properties": {"repobilityId": "2f68d55191267a15", "scanner": "scanner-primary", "fingerprint": "b223ca0889572012", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ff5c5d88cf7ceb95", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:164)"}, "properties": {"repobilityId": "e8b6d0b7854de499", "scanner": "scanner-primary", "fingerprint": "ff5c5d88cf7ceb95", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0f3c094d099c528c", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:177)"}, "properties": {"repobilityId": "96b84bf36b831d6f", "scanner": "scanner-primary", "fingerprint": "0f3c094d099c528c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bfe340c1b57b5691", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:184)"}, "properties": {"repobilityId": "9cb4447d1a78f623", "scanner": "scanner-primary", "fingerprint": "bfe340c1b57b5691", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-440708cf26cea82b", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:199)"}, "properties": {"repobilityId": "8255e46547740765", "scanner": "scanner-primary", "fingerprint": "440708cf26cea82b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a24a4fc9baf38172", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:204)"}, "properties": {"repobilityId": "2713ce085391e65a", "scanner": "scanner-primary", "fingerprint": "a24a4fc9baf38172", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cf5b64203aa7fdf1", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:222)"}, "properties": {"repobilityId": "a45385c0fb2395aa", "scanner": "scanner-primary", "fingerprint": "cf5b64203aa7fdf1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-af4f6f630736d702", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:249)"}, "properties": {"repobilityId": "866b4fcd91db9e15", "scanner": "scanner-primary", "fingerprint": "af4f6f630736d702", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0c56304016d2b03c", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:252)"}, "properties": {"repobilityId": "8e10cc48c3fecef2", "scanner": "scanner-primary", "fingerprint": "0c56304016d2b03c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c87901f7a2656cbb", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:266)"}, "properties": {"repobilityId": "280d116a0701c723", "scanner": "scanner-primary", "fingerprint": "c87901f7a2656cbb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-051dfffd7249493f", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:280)"}, "properties": {"repobilityId": "316233f01e99ecc5", "scanner": "scanner-primary", "fingerprint": "051dfffd7249493f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e4a52103113b8268", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:297)"}, "properties": {"repobilityId": "b1a9fadd8fd7e04e", "scanner": "scanner-primary", "fingerprint": "e4a52103113b8268", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-63335aed95a9118b", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:313)"}, "properties": {"repobilityId": "9cd43f10442397b1", "scanner": "scanner-primary", "fingerprint": "63335aed95a9118b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a87ae82e2f0b7544", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (server/http/site/branding.integration.test.ts:327)"}, "properties": {"repobilityId": "2212ed4d732620c0", "scanner": "scanner-primary", "fingerprint": "a87ae82e2f0b7544", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9960bc84a53cffcb", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/branding/logo (server/http/site/branding.integration.test.ts:337)"}, "properties": {"repobilityId": "807eb33421c9aa4e", "scanner": "scanner-primary", "fingerprint": "9960bc84a53cffcb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-36a32d18096e3e9b", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/branding/logo (server/http/site/branding.integration.test.ts:344)"}, "properties": {"repobilityId": "adf3c000d9cf3d59", "scanner": "scanner-primary", "fingerprint": "36a32d18096e3e9b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c4a45b944515c986", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/branding/wordmark_text (server/http/site/branding.integration.test.ts:354)"}, "properties": {"repobilityId": "6505c35f8ddbac83", "scanner": "scanner-primary", "fingerprint": "c4a45b944515c986", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3b0ce858dc9634a3", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/branding/theme (server/http/site/branding.integration.test.ts:373)"}, "properties": {"repobilityId": "9866af286c3c7b7d", "scanner": "scanner-primary", "fingerprint": "3b0ce858dc9634a3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d5846fd75614e19a", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:375)"}, "properties": {"repobilityId": "e6873297f91f9c1e", "scanner": "scanner-primary", "fingerprint": "d5846fd75614e19a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0c656c1711544a56", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/branding/theme_preset (server/http/site/branding.integration.test.ts:392)"}, "properties": {"repobilityId": "793c1a6769add37e", "scanner": "scanner-primary", "fingerprint": "0c656c1711544a56", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-096c7ae13e26d588", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/branding (server/http/site/branding.integration.test.ts:394)"}, "properties": {"repobilityId": "13815e0e30834831", "scanner": "scanner-primary", "fingerprint": "096c7ae13e26d588", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e5a33976b2218148", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/branding/invalid_field (server/http/site/branding.integration.test.ts:404)"}, "properties": {"repobilityId": "4b0a3f47a2d2a249", "scanner": "scanner-primary", "fingerprint": "e5a33976b2218148", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ae289d4e05646106", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/storages (server/http/site/storages.integration.test.ts:20)"}, "properties": {"repobilityId": "712de10126860059", "scanner": "scanner-primary", "fingerprint": "ae289d4e05646106", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0528aa8e2bfd6453", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/storages (server/http/site/storages.integration.test.ts:36)"}, "properties": {"repobilityId": "663be9a025d46785", "scanner": "scanner-primary", "fingerprint": "0528aa8e2bfd6453", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fe40df968dea63ca", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/storages (server/http/site/storages.integration.test.ts:43)"}, "properties": {"repobilityId": "546705c511474438", "scanner": "scanner-primary", "fingerprint": "fe40df968dea63ca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7e5681860571ae14", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:52)"}, "properties": {"repobilityId": "1181d5d6722ef222", "scanner": "scanner-primary", "fingerprint": "7e5681860571ae14", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2b2360ea487c8904", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:73)"}, "properties": {"repobilityId": "a677fc83cdef4d6f", "scanner": "scanner-primary", "fingerprint": "2b2360ea487c8904", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b8d98db41d002b09", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:81)"}, "properties": {"repobilityId": "bd1a3e71dd23df7a", "scanner": "scanner-primary", "fingerprint": "b8d98db41d002b09", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-807e33f8a8ceed1a", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:98)"}, "properties": {"repobilityId": "b3dc5d97f53b11a0", "scanner": "scanner-primary", "fingerprint": "807e33f8a8ceed1a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3a85906e8d7bcf0a", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/storages (server/http/site/storages.integration.test.ts:104)"}, "properties": {"repobilityId": "0c559c9a3c030317", "scanner": "scanner-primary", "fingerprint": "3a85906e8d7bcf0a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ef7cc80d5c160372", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:116)"}, "properties": {"repobilityId": "06c3be7e2175b60d", "scanner": "scanner-primary", "fingerprint": "ef7cc80d5c160372", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-66372eaadd5858b6", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/storages/${created.id} (server/http/site/storages.integration.test.ts:123)"}, "properties": {"repobilityId": "900e7e381afa5549", "scanner": "scanner-primary", "fingerprint": "66372eaadd5858b6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2de9fcff378b74f1", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/storages/nonexistent (server/http/site/storages.integration.test.ts:133)"}, "properties": {"repobilityId": "15ede27be5872fa1", "scanner": "scanner-primary", "fingerprint": "2de9fcff378b74f1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-340ea9a40799e4e9", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:141)"}, "properties": {"repobilityId": "04a1668ddb686c33", "scanner": "scanner-primary", "fingerprint": "340ea9a40799e4e9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-934baf8e8bdafdcc", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/storages/${created.id} (server/http/site/storages.integration.test.ts:148)"}, "properties": {"repobilityId": "ea413c17d8b1f181", "scanner": "scanner-primary", "fingerprint": "934baf8e8bdafdcc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-37cefc9e68c02de2", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/storages/nonexistent (server/http/site/storages.integration.test.ts:162)"}, "properties": {"repobilityId": "7eec84507fd0cc3e", "scanner": "scanner-primary", "fingerprint": "37cefc9e68c02de2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b05c1a3ff022b9ec", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:174)"}, "properties": {"repobilityId": "287227ca66a8e672", "scanner": "scanner-primary", "fingerprint": "b05c1a3ff022b9ec", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-14f105c50b856e8e", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/storages/${created.id} (server/http/site/storages.integration.test.ts:181)"}, "properties": {"repobilityId": "93f3895b37b2a688", "scanner": "scanner-primary", "fingerprint": "14f105c50b856e8e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d4256ca53b31d020", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/storages/nonexistent (server/http/site/storages.integration.test.ts:193)"}, "properties": {"repobilityId": "cc6d152015a48854", "scanner": "scanner-primary", "fingerprint": "d4256ca53b31d020", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2568cfb441913da2", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/storages (server/http/site/storages.integration.test.ts:204)"}, "properties": {"repobilityId": "0585542595b4679e", "scanner": "scanner-primary", "fingerprint": "2568cfb441913da2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fe3bb8c2fa7e4448", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/storages/${created.id} (server/http/site/storages.integration.test.ts:217)"}, "properties": {"repobilityId": "e577f8d0a00deff6", "scanner": "scanner-primary", "fingerprint": "fe3bb8c2fa7e4448", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4b65b2f7d8c7d10c", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/invitations (server/http/site/invitations.integration.test.ts:26)"}, "properties": {"repobilityId": "ea610b0093f8993f", "scanner": "scanner-primary", "fingerprint": "4b65b2f7d8c7d10c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0cc3acb5d567b127", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:35)"}, "properties": {"repobilityId": "6beb56e6187e1c34", "scanner": "scanner-primary", "fingerprint": "0cc3acb5d567b127", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c7fe40ab4920fba1", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:66)"}, "properties": {"repobilityId": "2f76edc95c5fa836", "scanner": "scanner-primary", "fingerprint": "c7fe40ab4920fba1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-072ea3d61ba41b46", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:85)"}, "properties": {"repobilityId": "906e374c3461af96", "scanner": "scanner-primary", "fingerprint": "072ea3d61ba41b46", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-af643567a92d76ee", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/invitations (server/http/site/invitations.integration.test.ts:91)"}, "properties": {"repobilityId": "7512df2519d0ee70", "scanner": "scanner-primary", "fingerprint": "af643567a92d76ee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fa9efa517e268b15", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:104)"}, "properties": {"repobilityId": "43cfcec787996d75", "scanner": "scanner-primary", "fingerprint": "fa9efa517e268b15", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-25876dfe0ad158a7", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invitations/${created.id}/deliveries (server/http/site/invitations.integration.test.ts:111)"}, "properties": {"repobilityId": "867a97fc158c3109", "scanner": "scanner-primary", "fingerprint": "25876dfe0ad158a7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-955036182d05bd31", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:127)"}, "properties": {"repobilityId": "07d22add6876a7ab", "scanner": "scanner-primary", "fingerprint": "955036182d05bd31", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ae83389b774400cf", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/invitations/${created.id} (server/http/site/invitations.integration.test.ts:134)"}, "properties": {"repobilityId": "1b455bfc3ad99133", "scanner": "scanner-primary", "fingerprint": "ae83389b774400cf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7db9e88ef23e8b27", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:150)"}, "properties": {"repobilityId": "dfd26cbb6f6b382e", "scanner": "scanner-primary", "fingerprint": "7db9e88ef23e8b27", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8fd41be7e6bab803", "level": "error", "message": {"text": "Dangling fetch: POST /api/site/invitations (server/http/site/invitations.integration.test.ts:156)"}, "properties": {"repobilityId": "9db51d01f7ede36d", "scanner": "scanner-primary", "fingerprint": "8fd41be7e6bab803", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a3bac8f46081a859", "level": "error", "message": {"text": "Dangling fetch: GET /api/site/invitations/${invitation.token} (server/http/site/invitations.integration.test.ts:192)"}, "properties": {"repobilityId": "c098d2743a13c9e2", "scanner": "scanner-primary", "fingerprint": "a3bac8f46081a859", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7eb469450b4b6908", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/m-cloud-report-ok (server/http/store/traffic-metering.integration.test.ts:112)"}, "properties": {"repobilityId": "1b349753161ad9fc", "scanner": "scanner-primary", "fingerprint": "7eb469450b4b6908", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7eda87bf9128f8fa", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/m-cloud-report-blocked (server/http/store/traffic-metering.integration.test.ts:134)"}, "properties": {"repobilityId": "a01652ab5159e6b9", "scanner": "scanner-primary", "fingerprint": "7eda87bf9128f8fa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ee855103fe823777", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/m-cloud-report-mismatch (server/http/store/traffic-metering.integration.test.ts:166)"}, "properties": {"repobilityId": "d66a24f62e957d35", "scanner": "scanner-primary", "fingerprint": "ee855103fe823777", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-18dde5120e2f68eb", "level": "error", "message": {"text": "Dangling fetch: GET /api/objects/m-cloud-report-presign-fail (server/http/store/traffic-metering.integration.test.ts:188)"}, "properties": {"repobilityId": "401cf5caa06b10cd", "scanner": "scanner-primary", "fingerprint": "18dde5120e2f68eb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f88a993f958a39e9", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/store/traffic-metering.integration.test.ts:217)"}, "properties": {"repobilityId": "4c7a8399e7ff9a99", "scanner": "scanner-primary", "fingerprint": "f88a993f958a39e9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ee44211681f7c030", "level": "error", "message": {"text": "Dangling fetch: GET /r/${share.token} (server/http/store/traffic-metering.integration.test.ts:245)"}, "properties": {"repobilityId": "893045b5cfb31e74", "scanner": "scanner-primary", "fingerprint": "ee44211681f7c030", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8e6506a2097f2fce", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${ref}?downloadUrl=1 (server/http/store/traffic-metering.integration.test.ts:284)"}, "properties": {"repobilityId": "78e8c34a9fc26648", "scanner": "scanner-primary", "fingerprint": "8e6506a2097f2fce", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e89b2276c127f18f", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${ref}?downloadUrl=1 (server/http/store/traffic-metering.integration.test.ts:313)"}, "properties": {"repobilityId": "4892338a54c65841", "scanner": "scanner-primary", "fingerprint": "e89b2276c127f18f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5bc9b29f9a11a1eb", "level": "error", "message": {"text": "Dangling fetch: GET /api/shares/${share.token}/objects/${ref}?downloadUrl=1 (server/http/store/traffic-metering.integration.test.ts:354)"}, "properties": {"repobilityId": "47861701671224d4", "scanner": "scanner-primary", "fingerprint": "5bc9b29f9a11a1eb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5a69c7a794418946", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_cloudtoken (server/http/store/traffic-metering.integration.test.ts:370)"}, "properties": {"repobilityId": "a0417afba853cc33", "scanner": "scanner-primary", "fingerprint": "5a69c7a794418946", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a51b18fdb330ea83", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_cloudlogfail (server/http/store/traffic-metering.integration.test.ts:390)"}, "properties": {"repobilityId": "440224461cbf2ba6", "scanner": "scanner-primary", "fingerprint": "a51b18fdb330ea83", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d4c67dd79d074e7d", "level": "error", "message": {"text": "Dangling fetch: GET /r/ih_cloudpresignfail (server/http/store/traffic-metering.integration.test.ts:407)"}, "properties": {"repobilityId": "614012ff352e419b", "scanner": "scanner-primary", "fingerprint": "d4c67dd79d074e7d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-37172880fa34167f", "level": "error", "message": {"text": "Dangling fetch: GET https://img.example.com/blog/domain.png (server/http/store/traffic-metering.integration.test.ts:424)"}, "properties": {"repobilityId": "b18a7c68934171b3", "scanner": "scanner-primary", "fingerprint": "37172880fa34167f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-37cde8ada7c67f35", "level": "error", "message": {"text": "Dangling fetch: GET https://img.example.com/blog/domain-log-fail.png (server/http/store/traffic-metering.integration.test.ts:447)"}, "properties": {"repobilityId": "e3eaaebb41d98634", "scanner": "scanner-primary", "fingerprint": "37cde8ada7c67f35", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e4e9df1b901de541", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:445)"}, "properties": {"repobilityId": "adebce14ca04da4c", "scanner": "scanner-primary", "fingerprint": "e4e9df1b901de541", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4bb561a5b065ed34", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:472)"}, "properties": {"repobilityId": "e1b80e4525e7d104", "scanner": "scanner-primary", "fingerprint": "4bb561a5b065ed34", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d4272c162ec36154", "level": "error", "message": {"text": "Dangling fetch: POST http://files.example.com/api/store/checkouts (server/http/store/store.integration.test.ts:499)"}, "properties": {"repobilityId": "d13ae8f28c25b438", "scanner": "scanner-primary", "fingerprint": "d4272c162ec36154", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-35f7e62a8b7b9ea5", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:521)"}, "properties": {"repobilityId": "1a64ca067fa8ddcd", "scanner": "scanner-primary", "fingerprint": "35f7e62a8b7b9ea5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bc224d3264d82b50", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:547)"}, "properties": {"repobilityId": "e0b7bac2523d350e", "scanner": "scanner-primary", "fingerprint": "bc224d3264d82b50", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-37421a3d78edcaeb", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:569)"}, "properties": {"repobilityId": "6406325a1764438e", "scanner": "scanner-primary", "fingerprint": "37421a3d78edcaeb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bfd083d4a44a5fca", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:591)"}, "properties": {"repobilityId": "7505aa0800d992d4", "scanner": "scanner-primary", "fingerprint": "bfd083d4a44a5fca", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-325a18dc3b719860", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:606)"}, "properties": {"repobilityId": "0cad90b2a8e2fcf8", "scanner": "scanner-primary", "fingerprint": "325a18dc3b719860", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4fa307d4e3cb050b", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:621)"}, "properties": {"repobilityId": "8a6d73ee0aaa28c4", "scanner": "scanner-primary", "fingerprint": "4fa307d4e3cb050b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2f17169e8aa007f0", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/billing-portal-sessions (server/http/store/store.integration.test.ts:639)"}, "properties": {"repobilityId": "3b36421e26af5a0f", "scanner": "scanner-primary", "fingerprint": "2f17169e8aa007f0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c74abd05f0fe89b4", "level": "error", "message": {"text": "Dangling fetch: GET /api/store/credits (server/http/store/store.integration.test.ts:642)"}, "properties": {"repobilityId": "160bcbebd9e6a294", "scanner": "scanner-primary", "fingerprint": "c74abd05f0fe89b4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-378762b1bbd9f34e", "level": "error", "message": {"text": "Dangling fetch: GET /api/store/credits/ledger-entries (server/http/store/store.integration.test.ts:645)"}, "properties": {"repobilityId": "71f604dd7c898e5c", "scanner": "scanner-primary", "fingerprint": "378762b1bbd9f34e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-50e34e907b7beb68", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/credits/redemptions (server/http/store/store.integration.test.ts:648)"}, "properties": {"repobilityId": "810e0b96d6c0f9e7", "scanner": "scanner-primary", "fingerprint": "50e34e907b7beb68", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6319d519c0bed05b", "level": "error", "message": {"text": "Dangling fetch: GET /api/store/orders (server/http/store/store.integration.test.ts:655)"}, "properties": {"repobilityId": "27ee23b9f8012f22", "scanner": "scanner-primary", "fingerprint": "6319d519c0bed05b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b67163f31becd572", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/billing-portal-sessions (server/http/store/store.integration.test.ts:669)"}, "properties": {"repobilityId": "7beee6aa149048a9", "scanner": "scanner-primary", "fingerprint": "b67163f31becd572", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6028b94bcb2290b3", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:700)"}, "properties": {"repobilityId": "2f61e39efd8e4a26", "scanner": "scanner-primary", "fingerprint": "6028b94bcb2290b3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1471b7772fe5a188", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:747)"}, "properties": {"repobilityId": "ce1c5e16fff2dcf5", "scanner": "scanner-primary", "fingerprint": "1471b7772fe5a188", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-45dfb0cb27897834", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:764)"}, "properties": {"repobilityId": "6dfae74fa83350a3", "scanner": "scanner-primary", "fingerprint": "45dfb0cb27897834", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cc8b1f8b209edb84", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/billing-portal-sessions (server/http/store/store.integration.test.ts:784)"}, "properties": {"repobilityId": "6f5e49e740165e2c", "scanner": "scanner-primary", "fingerprint": "cc8b1f8b209edb84", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2c400fd474d67f41", "level": "error", "message": {"text": "Dangling fetch: GET /api/store/packages (server/http/store/store.integration.test.ts:807)"}, "properties": {"repobilityId": "d9bb9eab91b783e1", "scanner": "scanner-primary", "fingerprint": "2c400fd474d67f41", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b6110e942bb646d2", "level": "error", "message": {"text": "Dangling fetch: GET /api/store/targets (server/http/store/store.integration.test.ts:808)"}, "properties": {"repobilityId": "b7651d6f588478a8", "scanner": "scanner-primary", "fingerprint": "b6110e942bb646d2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ae827f452f4b57dd", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:809)"}, "properties": {"repobilityId": "098d293f147327dd", "scanner": "scanner-primary", "fingerprint": "ae827f452f4b57dd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-28594d119aa10e35", "level": "error", "message": {"text": "Dangling fetch: GET /api/store/orders (server/http/store/store.integration.test.ts:814)"}, "properties": {"repobilityId": "bb8edaa843754e4b", "scanner": "scanner-primary", "fingerprint": "28594d119aa10e35", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5e4afa0bfdd2acf5", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:882)"}, "properties": {"repobilityId": "fb5a6580c1469e5d", "scanner": "scanner-primary", "fingerprint": "5e4afa0bfdd2acf5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-291cdf848ee51af5", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:887)"}, "properties": {"repobilityId": "b37bf6ad751e4a8e", "scanner": "scanner-primary", "fingerprint": "291cdf848ee51af5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8edaf3213474e430", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:917)"}, "properties": {"repobilityId": "1079f2badabee4b3", "scanner": "scanner-primary", "fingerprint": "8edaf3213474e430", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a8b79c8fbd5fc105", "level": "error", "message": {"text": "Dangling fetch: GET /api/store/credits (server/http/store/store.integration.test.ts:935)"}, "properties": {"repobilityId": "28b1993829973bb3", "scanner": "scanner-primary", "fingerprint": "a8b79c8fbd5fc105", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-aa4faa9755ef065d", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/credits/redemptions (server/http/store/store.integration.test.ts:936)"}, "properties": {"repobilityId": "fe1d4f6fcf961626", "scanner": "scanner-primary", "fingerprint": "aa4faa9755ef065d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cb15b2eaa3b93609", "level": "error", "message": {"text": "Dangling fetch: GET /api/store/credits/ledger-entries (server/http/store/store.integration.test.ts:971)"}, "properties": {"repobilityId": "5a282f7c343c380f", "scanner": "scanner-primary", "fingerprint": "cb15b2eaa3b93609", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-72c91812082ae993", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/orders/order-cloud-1/payments (server/http/store/store.integration.test.ts:1018)"}, "properties": {"repobilityId": "37a5875dd85b9134", "scanner": "scanner-primary", "fingerprint": "72c91812082ae993", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c8864abf391f4a23", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/store/orders/order-cloud-1 (server/http/store/store.integration.test.ts:1027)"}, "properties": {"repobilityId": "eeec5c9b203ff4d3", "scanner": "scanner-primary", "fingerprint": "c8864abf391f4a23", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3ec3d3b8f39946b5", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/orders/order-other-org/payments (server/http/store/store.integration.test.ts:1069)"}, "properties": {"repobilityId": "bc4e38a21d1de175", "scanner": "scanner-primary", "fingerprint": "3ec3d3b8f39946b5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1344ad1c13ad4c4d", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/store/orders/order-other-org (server/http/store/store.integration.test.ts:1073)"}, "properties": {"repobilityId": "ceddfc5af39a6b5f", "scanner": "scanner-primary", "fingerprint": "1344ad1c13ad4c4d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3a2c1db398e532b9", "level": "error", "message": {"text": "Dangling fetch: GET /api/store/packages (server/http/store/store.integration.test.ts:1097)"}, "properties": {"repobilityId": "42966600a0e0896a", "scanner": "scanner-primary", "fingerprint": "3a2c1db398e532b9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-de9d6a0d5d0e26d5", "level": "error", "message": {"text": "Dangling fetch: GET /api/store/targets (server/http/store/store.integration.test.ts:1098)"}, "properties": {"repobilityId": "fbb57be4072a82cc", "scanner": "scanner-primary", "fingerprint": "de9d6a0d5d0e26d5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-da2025797bb2185d", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:1099)"}, "properties": {"repobilityId": "7b4291f3e23f555e", "scanner": "scanner-primary", "fingerprint": "da2025797bb2185d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d9f33efadb46b618", "level": "error", "message": {"text": "Dangling fetch: GET /api/store/orders (server/http/store/store.integration.test.ts:1104)"}, "properties": {"repobilityId": "746cb211ba6bf41f", "scanner": "scanner-primary", "fingerprint": "d9f33efadb46b618", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fbef0c522ca0963d", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:1123)"}, "properties": {"repobilityId": "ede978006c98725a", "scanner": "scanner-primary", "fingerprint": "fbef0c522ca0963d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1fb9073a30d1336d", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:1144)"}, "properties": {"repobilityId": "2a4c9eeec7037df2", "scanner": "scanner-primary", "fingerprint": "1fb9073a30d1336d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-eba8fca6235c9972", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/checkouts (server/http/store/store.integration.test.ts:1165)"}, "properties": {"repobilityId": "b9678fbdac7ff3c0", "scanner": "scanner-primary", "fingerprint": "eba8fca6235c9972", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e45ea1f9a35f0f6e", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:1215)"}, "properties": {"repobilityId": "c8baff9eb196c5b6", "scanner": "scanner-primary", "fingerprint": "e45ea1f9a35f0f6e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0b94e70126ef7666", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1258)"}, "properties": {"repobilityId": "12fc367a4510c25c", "scanner": "scanner-primary", "fingerprint": "0b94e70126ef7666", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dd74c75d77b31f09", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1350)"}, "properties": {"repobilityId": "6b486388602da7b3", "scanner": "scanner-primary", "fingerprint": "dd74c75d77b31f09", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9fef84e43ecc69cc", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1428)"}, "properties": {"repobilityId": "53beababfe1b3fe8", "scanner": "scanner-primary", "fingerprint": "9fef84e43ecc69cc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a8c81e67c1784849", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1491)"}, "properties": {"repobilityId": "8130944e7c433bc7", "scanner": "scanner-primary", "fingerprint": "a8c81e67c1784849", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-52c566c8463ffd12", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1548)"}, "properties": {"repobilityId": "29d176b12869b0ae", "scanner": "scanner-primary", "fingerprint": "52c566c8463ffd12", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-06cb0f8a31960582", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1605)"}, "properties": {"repobilityId": "ecc6ab47175adca2", "scanner": "scanner-primary", "fingerprint": "06cb0f8a31960582", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f8979599398ee16a", "level": "error", "message": {"text": "Dangling fetch: GET /api/quotas/me (server/http/store/store.integration.test.ts:1700)"}, "properties": {"repobilityId": "caccbfb1a83e6e1b", "scanner": "scanner-primary", "fingerprint": "f8979599398ee16a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7f1da06341294d1d", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2025)"}, "properties": {"repobilityId": "ad7fac123095beb2", "scanner": "scanner-primary", "fingerprint": "7f1da06341294d1d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-63b04efa9bbbeee1", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2041)"}, "properties": {"repobilityId": "f231c4504bcec719", "scanner": "scanner-primary", "fingerprint": "63b04efa9bbbeee1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3f7ed72fa0c43d32", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2058)"}, "properties": {"repobilityId": "4ff42ad872c78b95", "scanner": "scanner-primary", "fingerprint": "3f7ed72fa0c43d32", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f29c861be2df8c0a", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2076)"}, "properties": {"repobilityId": "a6cd60cc3fc697b9", "scanner": "scanner-primary", "fingerprint": "f29c861be2df8c0a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-339efe8994edb044", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2093)"}, "properties": {"repobilityId": "5bbe3d6aa08b599d", "scanner": "scanner-primary", "fingerprint": "339efe8994edb044", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-59a74642b44c5a5e", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2111)"}, "properties": {"repobilityId": "4f86ff0095a6db6a", "scanner": "scanner-primary", "fingerprint": "59a74642b44c5a5e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-961b16693b23cb39", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2129)"}, "properties": {"repobilityId": "800e1c263d2520fa", "scanner": "scanner-primary", "fingerprint": "961b16693b23cb39", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2fbd830bc70f7a97", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2146)"}, "properties": {"repobilityId": "80b3f742f095ba52", "scanner": "scanner-primary", "fingerprint": "2fbd830bc70f7a97", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3bd44895fd42b3e6", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2172)"}, "properties": {"repobilityId": "9647be659f443cb0", "scanner": "scanner-primary", "fingerprint": "3bd44895fd42b3e6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1afc0c3b37be299d", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2189)"}, "properties": {"repobilityId": "15c119340ab4bb1c", "scanner": "scanner-primary", "fingerprint": "1afc0c3b37be299d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e565456000935de8", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/set-active (server/http/store/store.integration.test.ts:2288)"}, "properties": {"repobilityId": "a619e42e95cf8955", "scanner": "scanner-primary", "fingerprint": "e565456000935de8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0569df3593f02fee", "level": "error", "message": {"text": "Dangling fetch: POST /api/store/webhook (server/http/store/store.integration.test.ts:2334)"}, "properties": {"repobilityId": "093163c06e6a6465", "scanner": "scanner-primary", "fingerprint": "0569df3593f02fee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4a7ba74b96c6cc6d", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:137)"}, "properties": {"repobilityId": "a60ba213415d543c", "scanner": "scanner-primary", "fingerprint": "4a7ba74b96c6cc6d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e97ec5d37e0e9839", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:150)"}, "properties": {"repobilityId": "2042b5d04d1594ad", "scanner": "scanner-primary", "fingerprint": "e97ec5d37e0e9839", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d816e3c139989ba7", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:165)"}, "properties": {"repobilityId": "3fc34f8caae5b9a0", "scanner": "scanner-primary", "fingerprint": "d816e3c139989ba7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7bd75888bb5f45b5", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:183)"}, "properties": {"repobilityId": "e4e6e1734b795136", "scanner": "scanner-primary", "fingerprint": "7bd75888bb5f45b5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fe11abc06bfc4a66", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:203)"}, "properties": {"repobilityId": "12c35aab1aa667ab", "scanner": "scanner-primary", "fingerprint": "fe11abc06bfc4a66", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2c01fdaa79bcbe0b", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:218)"}, "properties": {"repobilityId": "739029d66ca3ab26", "scanner": "scanner-primary", "fingerprint": "2c01fdaa79bcbe0b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e0a86818c8260399", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:234)"}, "properties": {"repobilityId": "bd66bc3ae12ceb01", "scanner": "scanner-primary", "fingerprint": "e0a86818c8260399", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e301c1a5a5be8f19", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:251)"}, "properties": {"repobilityId": "2d6ee919ed39b103", "scanner": "scanner-primary", "fingerprint": "e301c1a5a5be8f19", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f5a39ab0a5cda0c7", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:264)"}, "properties": {"repobilityId": "de5b0ab1188eb06b", "scanner": "scanner-primary", "fingerprint": "f5a39ab0a5cda0c7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a48fe51cdaf38d5b", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:281)"}, "properties": {"repobilityId": "19a352055d4dd4f7", "scanner": "scanner-primary", "fingerprint": "a48fe51cdaf38d5b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2d4086169f1f3882", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:298)"}, "properties": {"repobilityId": "755ee0da78b1be43", "scanner": "scanner-primary", "fingerprint": "2d4086169f1f3882", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-aefaf08467b67832", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:319)"}, "properties": {"repobilityId": "b9e826fde237122a", "scanner": "scanner-primary", "fingerprint": "aefaf08467b67832", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-15cbd71119b481e2", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:336)"}, "properties": {"repobilityId": "b0eacd28bc2d8a17", "scanner": "scanner-primary", "fingerprint": "15cbd71119b481e2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-75f75f8db0d08037", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:355)"}, "properties": {"repobilityId": "91b8d472cf629ec5", "scanner": "scanner-primary", "fingerprint": "75f75f8db0d08037", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d80581d0b03d003c", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:371)"}, "properties": {"repobilityId": "ba301beaf2001d72", "scanner": "scanner-primary", "fingerprint": "d80581d0b03d003c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-82ae69df1e65249a", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:386)"}, "properties": {"repobilityId": "47ff2ff541f199a1", "scanner": "scanner-primary", "fingerprint": "82ae69df1e65249a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8af6e95216d071e0", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:401)"}, "properties": {"repobilityId": "23b69342403110d2", "scanner": "scanner-primary", "fingerprint": "8af6e95216d071e0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6fa797c587c4d25f", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:409)"}, "properties": {"repobilityId": "481adb23d1cdbfc3", "scanner": "scanner-primary", "fingerprint": "6fa797c587c4d25f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fe7320af460c88b3", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:427)"}, "properties": {"repobilityId": "82f803fb60b88603", "scanner": "scanner-primary", "fingerprint": "fe7320af460c88b3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1afa90da6a53ce1f", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:442)"}, "properties": {"repobilityId": "1ba2b803b1da7097", "scanner": "scanner-primary", "fingerprint": "1afa90da6a53ce1f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fd5c1b0f0b43c2fd", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:464)"}, "properties": {"repobilityId": "d691febeb7535cf8", "scanner": "scanner-primary", "fingerprint": "fd5c1b0f0b43c2fd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f68437000dfa64ec", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:486)"}, "properties": {"repobilityId": "4a4610388d3bf644", "scanner": "scanner-primary", "fingerprint": "f68437000dfa64ec", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1923e06cbd597c49", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:508)"}, "properties": {"repobilityId": "5b3a3804dbf8ff04", "scanner": "scanner-primary", "fingerprint": "1923e06cbd597c49", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-173a605617185220", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:530)"}, "properties": {"repobilityId": "ad17a52e7385c4c1", "scanner": "scanner-primary", "fingerprint": "173a605617185220", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-89475cf35fd85131", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:553)"}, "properties": {"repobilityId": "e5a01bb7de254c29", "scanner": "scanner-primary", "fingerprint": "89475cf35fd85131", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-59926b95ccf65758", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:578)"}, "properties": {"repobilityId": "d58bf3d7e3a61176", "scanner": "scanner-primary", "fingerprint": "59926b95ccf65758", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1ca0f8d905d6926e", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:606)"}, "properties": {"repobilityId": "08ddea4663da5b65", "scanner": "scanner-primary", "fingerprint": "1ca0f8d905d6926e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0f3004149f60b8c8", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:628)"}, "properties": {"repobilityId": "b7a39f5eeda2a1a2", "scanner": "scanner-primary", "fingerprint": "0f3004149f60b8c8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1497a17e0c54df21", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:647)"}, "properties": {"repobilityId": "7eb754a1adf7b5f1", "scanner": "scanner-primary", "fingerprint": "1497a17e0c54df21", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-16ff2c4778a3b837", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:667)"}, "properties": {"repobilityId": "3b1162a536cc4f91", "scanner": "scanner-primary", "fingerprint": "16ff2c4778a3b837", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-98c96d2cee141931", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:693)"}, "properties": {"repobilityId": "c9a59472ad82bfa4", "scanner": "scanner-primary", "fingerprint": "98c96d2cee141931", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c3c9019c6e30b3a0", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:713)"}, "properties": {"repobilityId": "cb45e7811c2aefc9", "scanner": "scanner-primary", "fingerprint": "c3c9019c6e30b3a0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-91386f7eadc12f1f", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:739)"}, "properties": {"repobilityId": "e073e570d2ae9fb4", "scanner": "scanner-primary", "fingerprint": "91386f7eadc12f1f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-920aab7cfc0b7503", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:772)"}, "properties": {"repobilityId": "4379841e272b1623", "scanner": "scanner-primary", "fingerprint": "920aab7cfc0b7503", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f97c24922992fea0", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:790)"}, "properties": {"repobilityId": "5bfaae12add20a83", "scanner": "scanner-primary", "fingerprint": "f97c24922992fea0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-831f557b47fc8a0b", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:811)"}, "properties": {"repobilityId": "01a82230a9bb6665", "scanner": "scanner-primary", "fingerprint": "831f557b47fc8a0b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-588c79644679feb5", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:831)"}, "properties": {"repobilityId": "2674784e978d0065", "scanner": "scanner-primary", "fingerprint": "588c79644679feb5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dd8fbae0ad792db6", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:849)"}, "properties": {"repobilityId": "efec321d8600844b", "scanner": "scanner-primary", "fingerprint": "dd8fbae0ad792db6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-97a93249e9f0ff18", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:872)"}, "properties": {"repobilityId": "901f777c2259646c", "scanner": "scanner-primary", "fingerprint": "97a93249e9f0ff18", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f2c709cca045e3dd", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:896)"}, "properties": {"repobilityId": "e16f09ea9906d51b", "scanner": "scanner-primary", "fingerprint": "f2c709cca045e3dd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f5ecf1b9d9000746", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:923)"}, "properties": {"repobilityId": "665d669bdc6da49a", "scanner": "scanner-primary", "fingerprint": "f5ecf1b9d9000746", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0f2b4e066f1c5de9", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/images/${id}/status (server/http/image-hosting/images.integration.test.ts:930)"}, "properties": {"repobilityId": "376b01648c95cbcc", "scanner": "scanner-primary", "fingerprint": "0f2b4e066f1c5de9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-74f1b6863de83f5d", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/images/${id}/status (server/http/image-hosting/images.integration.test.ts:948)"}, "properties": {"repobilityId": "748d8112a9ba999e", "scanner": "scanner-primary", "fingerprint": "74f1b6863de83f5d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9b8dec65abf39687", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/images/nonexistent/status (server/http/image-hosting/images.integration.test.ts:962)"}, "properties": {"repobilityId": "90903cc2983ffc12", "scanner": "scanner-primary", "fingerprint": "9b8dec65abf39687", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2fb70aba538191a3", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.integration.test.ts:979)"}, "properties": {"repobilityId": "d8cabe276b9b3f98", "scanner": "scanner-primary", "fingerprint": "2fb70aba538191a3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-dc23087274984aa7", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/images/${id}/status (server/http/image-hosting/images.integration.test.ts:988)"}, "properties": {"repobilityId": "f5a51a15bb736f65", "scanner": "scanner-primary", "fingerprint": "dc23087274984aa7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-13fbc300921467d0", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1003)"}, "properties": {"repobilityId": "947d9841017fce7a", "scanner": "scanner-primary", "fingerprint": "13fbc300921467d0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-f77f9abffd8f02f5", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1014)"}, "properties": {"repobilityId": "4e4ed22a6df68430", "scanner": "scanner-primary", "fingerprint": "f77f9abffd8f02f5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-87a2a01e05f56f31", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/images?pathPrefix=blog/2026/ (server/http/image-hosting/images.integration.test.ts:1032)"}, "properties": {"repobilityId": "bb61301ea4769f12", "scanner": "scanner-primary", "fingerprint": "87a2a01e05f56f31", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-27d275a99f9b145b", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1051)"}, "properties": {"repobilityId": "170a31c71a81edb7", "scanner": "scanner-primary", "fingerprint": "27d275a99f9b145b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2978ad18381e200b", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/images?limit=2 (server/http/image-hosting/images.integration.test.ts:1070)"}, "properties": {"repobilityId": "656c80ca0db9d400", "scanner": "scanner-primary", "fingerprint": "2978ad18381e200b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d070bac20caa98e7", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/images?limit=2&cursor=${body1.nextCursor} (server/http/image-hosting/images.integration.test.ts:1076)"}, "properties": {"repobilityId": "53631d89e2403faa", "scanner": "scanner-primary", "fingerprint": "d070bac20caa98e7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3570c368d5d01957", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/images/cross-org-img (server/http/image-hosting/images.integration.test.ts:1104)"}, "properties": {"repobilityId": "5a1b5b3ccf3b1f6e", "scanner": "scanner-primary", "fingerprint": "3570c368d5d01957", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6d2abb18c1a87473", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1117)"}, "properties": {"repobilityId": "fa118ea50154ded1", "scanner": "scanner-primary", "fingerprint": "6d2abb18c1a87473", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2bd0e58abba7737c", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/image-hosting/images/fake-id (server/http/image-hosting/images.integration.test.ts:1133)"}, "properties": {"repobilityId": "db43f1cbedde85cb", "scanner": "scanner-primary", "fingerprint": "2bd0e58abba7737c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d446221a88e93dee", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/image-hosting/images/nonexistent (server/http/image-hosting/images.integration.test.ts:1149)"}, "properties": {"repobilityId": "a3bf563a48fe8d90", "scanner": "scanner-primary", "fingerprint": "d446221a88e93dee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-83075514715e969b", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1165)"}, "properties": {"repobilityId": "1fbda4bbc7905c6d", "scanner": "scanner-primary", "fingerprint": "83075514715e969b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-aa0dda4f239e830d", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1174)"}, "properties": {"repobilityId": "dd2530529a159e54", "scanner": "scanner-primary", "fingerprint": "aa0dda4f239e830d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9991a7e7ad37aaf7", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1191)"}, "properties": {"repobilityId": "455522c0e6eb89b7", "scanner": "scanner-primary", "fingerprint": "9991a7e7ad37aaf7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d0afb77579a13783", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/images/${id} (server/http/image-hosting/images.integration.test.ts:1201)"}, "properties": {"repobilityId": "f17ea29f4f0f158d", "scanner": "scanner-primary", "fingerprint": "d0afb77579a13783", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-307223d887f8fed2", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1229)"}, "properties": {"repobilityId": "c11cc935edcbaa4c", "scanner": "scanner-primary", "fingerprint": "307223d887f8fed2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-904b6537480ed5a1", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1254)"}, "properties": {"repobilityId": "7f21ff438e143c24", "scanner": "scanner-primary", "fingerprint": "904b6537480ed5a1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-73e3a3763e2a5389", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.integration.test.ts:1277)"}, "properties": {"repobilityId": "d041b825d333b371", "scanner": "scanner-primary", "fingerprint": "73e3a3763e2a5389", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d7cfb09a75c3e4dd", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/image-hosting/images.cf-test.ts:15)"}, "properties": {"repobilityId": "9b2bcf2e452afdb3", "scanner": "scanner-primary", "fingerprint": "d7cfb09a75c3e4dd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-496ef6775700b71c", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/images (server/http/image-hosting/images.cf-test.ts:27)"}, "properties": {"repobilityId": "b4117641b1d778f7", "scanner": "scanner-primary", "fingerprint": "496ef6775700b71c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ebb01446a66d1392", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images (server/http/image-hosting/images.cf-test.ts:34)"}, "properties": {"repobilityId": "b79c0496a532891d", "scanner": "scanner-primary", "fingerprint": "ebb01446a66d1392", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e1ef820294a85875", "level": "error", "message": {"text": "Dangling fetch: POST /api/image-hosting/images/presign (server/http/image-hosting/images.cf-test.ts:45)"}, "properties": {"repobilityId": "93fcedb2dfc61f46", "scanner": "scanner-primary", "fingerprint": "e1ef820294a85875", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3cd7b13a2fe0758f", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/images/some-id (server/http/image-hosting/images.cf-test.ts:56)"}, "properties": {"repobilityId": "13a7931b5c2d841f", "scanner": "scanner-primary", "fingerprint": "3cd7b13a2fe0758f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b0aa8af84bae4183", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/http/image-hosting/config.integration.test.ts:17)"}, "properties": {"repobilityId": "844ec87d9f8b23b2", "scanner": "scanner-primary", "fingerprint": "b0aa8af84bae4183", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e3a88d2b3de75e24", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/organization/set-active (server/http/image-hosting/config.integration.test.ts:49)"}, "properties": {"repobilityId": "a3e0d9f86e5af303", "scanner": "scanner-primary", "fingerprint": "e3a88d2b3de75e24", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cf65a603fe319dc6", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:106)"}, "properties": {"repobilityId": "9d9609030e9076e1", "scanner": "scanner-primary", "fingerprint": "cf65a603fe319dc6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-737ce87af8085cdb", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:114)"}, "properties": {"repobilityId": "546587e024132b0a", "scanner": "scanner-primary", "fingerprint": "737ce87af8085cdb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a775d3c1c8cb1749", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:126)"}, "properties": {"repobilityId": "3038fd3ad9156379", "scanner": "scanner-primary", "fingerprint": "a775d3c1c8cb1749", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6cd7bec20d33a470", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:141)"}, "properties": {"repobilityId": "962c20c73be4f1b0", "scanner": "scanner-primary", "fingerprint": "6cd7bec20d33a470", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8cc6433dddbf02a9", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:152)"}, "properties": {"repobilityId": "4b926884738f4b42", "scanner": "scanner-primary", "fingerprint": "8cc6433dddbf02a9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3ef59a9f7707f2f2", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:163)"}, "properties": {"repobilityId": "80e328f9ad6302c1", "scanner": "scanner-primary", "fingerprint": "3ef59a9f7707f2f2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b535f3d7dd27fac7", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:178)"}, "properties": {"repobilityId": "a9f77fd5e95db502", "scanner": "scanner-primary", "fingerprint": "b535f3d7dd27fac7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-828d0b253e1a6aa2", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:193)"}, "properties": {"repobilityId": "5524c2b972e52227", "scanner": "scanner-primary", "fingerprint": "828d0b253e1a6aa2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-036283bb6403c49b", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:208)"}, "properties": {"repobilityId": "401e3bf8181e1212", "scanner": "scanner-primary", "fingerprint": "036283bb6403c49b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b406c75c828c8bef", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:222)"}, "properties": {"repobilityId": "a281d052531b7ce8", "scanner": "scanner-primary", "fingerprint": "b406c75c828c8bef", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-523c965b54b5e854", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:240)"}, "properties": {"repobilityId": "18bc933d99d4986f", "scanner": "scanner-primary", "fingerprint": "523c965b54b5e854", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a540a82436c74248", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:255)"}, "properties": {"repobilityId": "a8e758cf309255a3", "scanner": "scanner-primary", "fingerprint": "a540a82436c74248", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-432789ef3a2fc534", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:275)"}, "properties": {"repobilityId": "6c13dd522d441867", "scanner": "scanner-primary", "fingerprint": "432789ef3a2fc534", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-082d2270e1b8f437", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:293)"}, "properties": {"repobilityId": "23fee3aeaee76cdc", "scanner": "scanner-primary", "fingerprint": "082d2270e1b8f437", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1d57f81942ab6fc3", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:315)"}, "properties": {"repobilityId": "ef80ae931df5c6f8", "scanner": "scanner-primary", "fingerprint": "1d57f81942ab6fc3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6f9f0ff7cb3d3c15", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:350)"}, "properties": {"repobilityId": "460c21e67ca14987", "scanner": "scanner-primary", "fingerprint": "6f9f0ff7cb3d3c15", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3e48a4a0594d3662", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:385)"}, "properties": {"repobilityId": "03acbe034777e43e", "scanner": "scanner-primary", "fingerprint": "3e48a4a0594d3662", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-af818cd3fa84b1fa", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:411)"}, "properties": {"repobilityId": "e6c98adeed86c908", "scanner": "scanner-primary", "fingerprint": "af818cd3fa84b1fa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-be3442f9416dc48e", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:427)"}, "properties": {"repobilityId": "516498fd37105bf9", "scanner": "scanner-primary", "fingerprint": "be3442f9416dc48e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-eb6f901096f309d4", "level": "error", "message": {"text": "Dangling fetch: GET /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:442)"}, "properties": {"repobilityId": "09fa1a3aac18ad33", "scanner": "scanner-primary", "fingerprint": "eb6f901096f309d4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-ce1c43c5825c11a4", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:464)"}, "properties": {"repobilityId": "8f58dc853000dffa", "scanner": "scanner-primary", "fingerprint": "ce1c43c5825c11a4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-848383419abde48b", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:485)"}, "properties": {"repobilityId": "ca906adbcf0f7498", "scanner": "scanner-primary", "fingerprint": "848383419abde48b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-740b502c5d69f3a9", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:513)"}, "properties": {"repobilityId": "0286202687799388", "scanner": "scanner-primary", "fingerprint": "740b502c5d69f3a9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bb88e6f58f214014", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:547)"}, "properties": {"repobilityId": "a6c4a7373dc6f25c", "scanner": "scanner-primary", "fingerprint": "bb88e6f58f214014", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6b7add895531f674", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:577)"}, "properties": {"repobilityId": "177c99434bf878ae", "scanner": "scanner-primary", "fingerprint": "6b7add895531f674", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0584cbcef2d4e665", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:592)"}, "properties": {"repobilityId": "8f62c029f4092f90", "scanner": "scanner-primary", "fingerprint": "0584cbcef2d4e665", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d7d19bc858d181e1", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:613)"}, "properties": {"repobilityId": "5f9188412cf3183b", "scanner": "scanner-primary", "fingerprint": "d7d19bc858d181e1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-11ef6112a0e698f6", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:628)"}, "properties": {"repobilityId": "32e2bd22b27621cc", "scanner": "scanner-primary", "fingerprint": "11ef6112a0e698f6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7461b8cd7a052eb9", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:643)"}, "properties": {"repobilityId": "81d4426f880460dc", "scanner": "scanner-primary", "fingerprint": "7461b8cd7a052eb9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9eb03288c33e5482", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:658)"}, "properties": {"repobilityId": "e2fe178283e801e9", "scanner": "scanner-primary", "fingerprint": "9eb03288c33e5482", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-74680da83ad934ce", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:680)"}, "properties": {"repobilityId": "3c1b5c9656d5064c", "scanner": "scanner-primary", "fingerprint": "74680da83ad934ce", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1bdbb4f175ebefc3", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:697)"}, "properties": {"repobilityId": "8b5f1e67ca8b0045", "scanner": "scanner-primary", "fingerprint": "1bdbb4f175ebefc3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1b71daec8a34eb5e", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:703)"}, "properties": {"repobilityId": "a74a79e263b32dfc", "scanner": "scanner-primary", "fingerprint": "1b71daec8a34eb5e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-3a0aea8da8a0873c", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:722)"}, "properties": {"repobilityId": "16ac22e4d1ffc38c", "scanner": "scanner-primary", "fingerprint": "3a0aea8da8a0873c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-efd75383ef88c796", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:753)"}, "properties": {"repobilityId": "2565ff09b5337447", "scanner": "scanner-primary", "fingerprint": "efd75383ef88c796", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2f66d6da089b7ebb", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:775)"}, "properties": {"repobilityId": "bed335de34358e34", "scanner": "scanner-primary", "fingerprint": "2f66d6da089b7ebb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c2769b47a4e1d17c", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:807)"}, "properties": {"repobilityId": "a277854e8e85b6d5", "scanner": "scanner-primary", "fingerprint": "c2769b47a4e1d17c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1b782574286052d3", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:844)"}, "properties": {"repobilityId": "a672aa2ada973ec1", "scanner": "scanner-primary", "fingerprint": "1b782574286052d3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4f2d1c3256125065", "level": "error", "message": {"text": "Dangling fetch: PUT /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:873)"}, "properties": {"repobilityId": "9ba7e4c9d3005cae", "scanner": "scanner-primary", "fingerprint": "4f2d1c3256125065", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e78ceabe0166d73c", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:899)"}, "properties": {"repobilityId": "a4bf5a9d6c6e1f07", "scanner": "scanner-primary", "fingerprint": "e78ceabe0166d73c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c5dfcaa3f8f4a9ee", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:916)"}, "properties": {"repobilityId": "01c55e50e6e9e2cd", "scanner": "scanner-primary", "fingerprint": "c5dfcaa3f8f4a9ee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d0f7bb4670b08fb5", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:938)"}, "properties": {"repobilityId": "d3425de61c89b5db", "scanner": "scanner-primary", "fingerprint": "d0f7bb4670b08fb5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-105af88d93d1f8db", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:969)"}, "properties": {"repobilityId": "045dd189a4c3b972", "scanner": "scanner-primary", "fingerprint": "105af88d93d1f8db", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8958ad0aa962236e", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/image-hosting/config (server/http/image-hosting/config.integration.test.ts:1016)"}, "properties": {"repobilityId": "6baec6d8e32c31c3", "scanner": "scanner-primary", "fingerprint": "8958ad0aa962236e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4c78648b82dfda90", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/get-session (server/usecases/object.integration.test.ts:552)"}, "properties": {"repobilityId": "4391ce8c1ed0a28a", "scanner": "scanner-primary", "fingerprint": "4c78648b82dfda90", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-2f290b983f326052", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:566)"}, "properties": {"repobilityId": "656e900ade0581b4", "scanner": "scanner-primary", "fingerprint": "2f290b983f326052", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-37a1fdaf962dad24", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/nonexistent-tok/objects (server/usecases/object.integration.test.ts:576)"}, "properties": {"repobilityId": "387352b872acdd80", "scanner": "scanner-primary", "fingerprint": "37a1fdaf962dad24", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c0324e605dc932d0", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:588)"}, "properties": {"repobilityId": "d2247d7fc76ad3bf", "scanner": "scanner-primary", "fingerprint": "c0324e605dc932d0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-562d004591ab4e05", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:600)"}, "properties": {"repobilityId": "68f40140caf8864c", "scanner": "scanner-primary", "fingerprint": "562d004591ab4e05", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-523cb45ba81d7a95", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${directShare.token}/objects (server/usecases/object.integration.test.ts:614)"}, "properties": {"repobilityId": "22535639be83e2f5", "scanner": "scanner-primary", "fingerprint": "523cb45ba81d7a95", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b994f418cb000809", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${pwShare.token}/objects (server/usecases/object.integration.test.ts:636)"}, "properties": {"repobilityId": "faba9645942386eb", "scanner": "scanner-primary", "fingerprint": "b994f418cb000809", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4d8e7762f6524855", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/get-session (server/usecases/object.integration.test.ts:648)"}, "properties": {"repobilityId": "7dd29e006d9ce7b8", "scanner": "scanner-primary", "fingerprint": "4d8e7762f6524855", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-5eb0e2b78e7ccdbf", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${pwShare.token}/objects (server/usecases/object.integration.test.ts:663)"}, "properties": {"repobilityId": "f045ccc48f6ba39b", "scanner": "scanner-primary", "fingerprint": "5eb0e2b78e7ccdbf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b120e3b9c2ce5839", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/get-session (server/usecases/object.integration.test.ts:681)"}, "properties": {"repobilityId": "f05766aedb901ea9", "scanner": "scanner-primary", "fingerprint": "b120e3b9c2ce5839", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-615a35ab4718bf05", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:690)"}, "properties": {"repobilityId": "f98b14def243bcf6", "scanner": "scanner-primary", "fingerprint": "615a35ab4718bf05", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-7f347831ca70443f", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/get-session (server/usecases/object.integration.test.ts:703)"}, "properties": {"repobilityId": "e66e5a31607f821f", "scanner": "scanner-primary", "fingerprint": "7f347831ca70443f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-eb3b11a2ccdad4a0", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:745)"}, "properties": {"repobilityId": "bf8fc914621ac853", "scanner": "scanner-primary", "fingerprint": "eb3b11a2ccdad4a0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1b0031a8a8d233be", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:759)"}, "properties": {"repobilityId": "d785c1e7b44a9391", "scanner": "scanner-primary", "fingerprint": "1b0031a8a8d233be", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cd7aa2c92285c4b9", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:776)"}, "properties": {"repobilityId": "0d22d4367ee62945", "scanner": "scanner-primary", "fingerprint": "cd7aa2c92285c4b9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9d75540028b8d29a", "level": "error", "message": {"text": "Dangling fetch: POST /api/shares/${share.token}/objects (server/usecases/object.integration.test.ts:789)"}, "properties": {"repobilityId": "a8fdae799a3cc32d", "scanner": "scanner-primary", "fingerprint": "9d75540028b8d29a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4800d05bf65b2cb3", "level": "error", "message": {"text": "Dangling fetch: POST /api/auth/sign-up/email (server/usecases/site/signup-mode.integration.test.ts:9)"}, "properties": {"repobilityId": "d341dc1a3d041fb6", "scanner": "scanner-primary", "fingerprint": "4800d05bf65b2cb3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9a08762452712997", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/options/auth_signup_mode (server/usecases/site/signup-mode.integration.test.ts:159)"}, "properties": {"repobilityId": "6646a47b5d754e46", "scanner": "scanner-primary", "fingerprint": "9a08762452712997", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fb4312558deb1648", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth${path} (src/lib/api.ts:998)"}, "properties": {"repobilityId": "f33c4bb3b78d1dd9", "scanner": "scanner-primary", "fingerprint": "fb4312558deb1648", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-449320a2c841d1bc", "level": "error", "message": {"text": "Dangling fetch: GET /api/auth/get-session (src/lib/api.ts:1162)"}, "properties": {"repobilityId": "b4664dc47a38905c", "scanner": "scanner-primary", "fingerprint": "449320a2c841d1bc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e4ee8acbbec1b9d0", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/branding (src/lib/api.ts:1430)"}, "properties": {"repobilityId": "054616459ae80bf1", "scanner": "scanner-primary", "fingerprint": "e4ee8acbbec1b9d0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d7a2bbfde480bef4", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/site/announcements/${id} (e2e/announcements.spec.ts:62)"}, "properties": {"repobilityId": "1abe484228937a49", "scanner": "scanner-primary", "fingerprint": "d7a2bbfde480bef4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4532b02ba47db891", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/options/auth_signup_mode (e2e/site-invitations.spec.ts:6)"}, "properties": {"repobilityId": "5c371377a2a03acc", "scanner": "scanner-primary", "fingerprint": "4532b02ba47db891", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4b43c68307eba09d", "level": "error", "message": {"text": "Dangling fetch: PUT /api/site/email (e2e/site-invitations.spec.ts:20)"}, "properties": {"repobilityId": "ca6aaba39a329358", "scanner": "scanner-primary", "fingerprint": "4b43c68307eba09d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3abf952b8d28d710", "level": "note", "message": {"text": "Unused endpoint: USE /*"}, "properties": {"repobilityId": "7bd5c62444e3da40", "scanner": "scanner-primary", "fingerprint": "3abf952b8d28d710", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7a7da4485ffd5140", "level": "note", "message": {"text": "Unused endpoint: GET /*"}, "properties": {"repobilityId": "1d9299b6de594473", "scanner": "scanner-primary", "fingerprint": "7a7da4485ffd5140", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b8073f7bf758f6d0", "level": "note", "message": {"text": "Unused endpoint: USE /api/*"}, "properties": {"repobilityId": "4efae7acf0cc4579", "scanner": "scanner-primary", "fingerprint": "b8073f7bf758f6d0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-733349279c3f9bd4", "level": "note", "message": {"text": "Unused endpoint: USE /dav"}, "properties": {"repobilityId": "ea4bf7f9bf46cfc1", "scanner": "scanner-primary", "fingerprint": "733349279c3f9bd4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5ae907d8dc30586f", "level": "note", "message": {"text": "Unused endpoint: USE /dav/*"}, "properties": {"repobilityId": "44efaa84efaec61f", "scanner": "scanner-primary", "fingerprint": "5ae907d8dc30586f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2c8221890d425848", "level": "note", "message": {"text": "Unused endpoint: ALL /dav"}, "properties": {"repobilityId": "e63dbf21dc956010", "scanner": "scanner-primary", "fingerprint": "2c8221890d425848", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-81df9a95a67a42e0", "level": "note", "message": {"text": "Unused endpoint: POST /instance-telemetry/report"}, "properties": {"repobilityId": "37fc5645512fbd01", "scanner": "scanner-primary", "fingerprint": "81df9a95a67a42e0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c60b98b392e45c37", "level": "note", "message": {"text": "Unused endpoint: GET /api/licenses"}, "properties": {"repobilityId": "4060266e36491ef5", "scanner": "scanner-primary", "fingerprint": "c60b98b392e45c37", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}