{"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-c9224d9f9c4689a6", "name": "Stray `console.log` in TS/JS \u2014 demo-a2a.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 demo-a2a.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-df2def756475c531", "name": "Stray `console.log` in TS/JS \u2014 clawpump-endpoints.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 clawpump-endpoints.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8a46095637e7e99", "name": "Stray `console.log` in TS/JS \u2014 scripts/active-agents.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/active-agents.ts:40"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a62bd0c1f20f602f", "name": "Stray `console.log` in TS/JS \u2014 scripts/refresh-all-cached-scores.ts:150", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/refresh-all-cached-scores.ts:150"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-756c95a65e861307", "name": "TODO/FIXME marker in shipping code \u2014 src/index.ts:7176", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/index.ts:7176"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-66c98f014369487b", "name": "Stray `console.log` in TS/JS \u2014 src/index.ts:1558", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/index.ts:1558"}, "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-8e52926a97c07bc4", "name": "Stray `console.log` in TS/JS \u2014 src/ws-handler.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/ws-handler.ts:52"}, "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-bcca67c73f181d60", "name": "TODO/FIXME marker in shipping code \u2014 src/wallet-endpoints.ts:231", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/wallet-endpoints.ts:231"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c5c63ce5c2a088c", "name": "Stray `console.log` in TS/JS \u2014 src/wallet-endpoints.ts:249", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/wallet-endpoints.ts:249"}, "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-416dadedeaa56e07", "name": "Stray `console.log` in TS/JS \u2014 src/a2a-endpoints.ts:168", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/a2a-endpoints.ts:168"}, "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-b205a4f3cbba691f", "name": "Stray `console.log` in TS/JS \u2014 src/score-engine.ts:375", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/score-engine.ts:375"}, "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-c7e8b6c5a9017f2f", "name": "Stray `console.log` in TS/JS \u2014 src/cross-chain-endpoints.ts:237", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/cross-chain-endpoints.ts:237"}, "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-9d609e89fc31cb83", "name": "Stray `console.log` in TS/JS \u2014 src/x402-config.ts:129", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/x402-config.ts:129"}, "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-f4d8faa4469c1284", "name": "Stray `console.log` in TS/JS \u2014 src/services/wallet-activity.ts:261", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/services/wallet-activity.ts:261"}, "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-01dd5636a6b57bb3", "name": "Insecure pattern 'cors_wildcard' in src/index.ts:228", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in src/index.ts:228"}, "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-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e59cf0a8c03e981c", "name": "Very large file: src/index.ts (9137 lines)", "shortDescription": {"text": "Very large file: src/index.ts (9137 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 23 source file(s) (ratio 0.00). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 167 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 19 placeholder/mock markers across 3 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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, tests. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-b07c20ab21dd2126", "name": "Commented-code block (5 lines) in src/index.ts:572", "shortDescription": {"text": "Commented-code block (5 lines) in src/index.ts:572"}, "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-2e3bd159c0f593a8", "name": "Commented-code block (7 lines) in src/wallet-endpoints.ts:233", "shortDescription": {"text": "Commented-code block (7 lines) in src/wallet-endpoints.ts:233"}, "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-26ad2b81d47c96a2", "name": "Commented-code block (5 lines) in src/score-engine.ts:366", "shortDescription": {"text": "Commented-code block (5 lines) in src/score-engine.ts:366"}, "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-1a3b1b79410f9db1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/score-engine.ts:131", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/score-engine.ts:131"}, "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-1b15c47695f3c61b", "name": "Commented-code block (6 lines) in src/services/wallet-activity.ts:37", "shortDescription": {"text": "Commented-code block (6 lines) in src/services/wallet-activity.ts:37"}, "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-9cac7ce15e72817b", "name": "31 env vars used in code but missing from .env.example", "shortDescription": {"text": "31 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `A2A_REQUIRE_SIGNATURE`, `ALCHEMY_SOLANA_RPC_URL`, `API_KEY_SECRET`, `ARBITRUM_RPC_URL`, `AVALANCHE_RPC_URL`, `BASE_RPC_URL`, `BNB_RPC_URL`, `CELO_RPC_URL` + 23 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee9068f382b9f1ed", "name": "Dangling fetch: POST https://app.saidprotocol.com/api/internal/mint-nft (src/index.ts:4567)", "shortDescription": {"text": "Dangling fetch: POST https://app.saidprotocol.com/api/internal/mint-nft (src/index.ts:4567)"}, "fullDescription": {"text": "`src/index.ts:4567` calls `POST https://app.saidprotocol.com/api/internal/mint-nft` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/app.saidprotocol.com/api/internal/mint-nft`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2916a7559d9f8f2d", "name": "Dangling fetch: POST https://app.saidprotocol.com/api/internal/mint-nft (src/index.ts:5260)", "shortDescription": {"text": "Dangling fetch: POST https://app.saidprotocol.com/api/internal/mint-nft (src/index.ts:5260)"}, "fullDescription": {"text": "`src/index.ts:5260` calls `POST https://app.saidprotocol.com/api/internal/mint-nft` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/app.saidprotocol.com/api/internal/mint-nft`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7e3001c8eae917f2", "name": "Dangling fetch: GET https://api.dexscreener.com/latest/dex/tokens/${t.mint} (src/services/wallet-activity.ts:310)", "shortDescription": {"text": "Dangling fetch: GET https://api.dexscreener.com/latest/dex/tokens/${t.mint} (src/services/wallet-activity.ts:310)"}, "fullDescription": {"text": "`src/services/wallet-activity.ts:310` calls `GET https://api.dexscreener.com/latest/dex/tokens/${t.mint}` 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.dexscreener.com/latest/dex/tokens/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-80679d98a28260eb", "name": "Unused endpoint: POST /api/platforms/clawpump/register", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/clawpump/register"}, "fullDescription": {"text": "`clawpump-endpoints.ts` declares `POST /api/platforms/clawpump/register` 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-0148676ea6708a6e", "name": "Unused endpoint: POST /api/platforms/clawpump/confirm", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/clawpump/confirm"}, "fullDescription": {"text": "`clawpump-endpoints.ts` declares `POST /api/platforms/clawpump/confirm` 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-3abf952b8d28d710", "name": "Unused endpoint: USE /*", "shortDescription": {"text": "Unused endpoint: USE /*"}, "fullDescription": {"text": "`src/index.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-32af5edd087acbbc", "name": "Unused endpoint: GET /api/events", "shortDescription": {"text": "Unused endpoint: GET /api/events"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/events` 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-5baa8971ebe192a1", "name": "Unused endpoint: GET /", "shortDescription": {"text": "Unused endpoint: GET /"}, "fullDescription": {"text": "`src/index.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-968d4311ce08cfe9", "name": "Unused endpoint: GET /openapi.json", "shortDescription": {"text": "Unused endpoint: GET /openapi.json"}, "fullDescription": {"text": "`src/index.ts` declares `GET /openapi.json` 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-ebbac57e5f072883", "name": "Unused endpoint: GET /api/avatar/:file", "shortDescription": {"text": "Unused endpoint: GET /api/avatar/:file"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/avatar/:file` 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-b7992fcec2ef106a", "name": "Unused endpoint: GET /api/messages/recent", "shortDescription": {"text": "Unused endpoint: GET /api/messages/recent"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/messages/recent` 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-c4b0361ac0f5eeb9", "name": "Unused endpoint: GET /api/agents", "shortDescription": {"text": "Unused endpoint: GET /api/agents"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/agents` 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-283dde27cea28e97", "name": "Unused endpoint: GET /api/agents/top", "shortDescription": {"text": "Unused endpoint: GET /api/agents/top"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/agents/top` 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-abc84019cdd700b8", "name": "Unused endpoint: GET /api/agents/:wallet", "shortDescription": {"text": "Unused endpoint: GET /api/agents/:wallet"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/agents/:wallet` 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-34e5b34097ee53d8", "name": "Unused endpoint: GET /api/agents/:wallet/feedback", "shortDescription": {"text": "Unused endpoint: GET /api/agents/:wallet/feedback"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/agents/:wallet/feedback` 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-d0046832aea77d37", "name": "Unused endpoint: POST /api/agents/:wallet/feedback", "shortDescription": {"text": "Unused endpoint: POST /api/agents/:wallet/feedback"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/agents/:wallet/feedback` 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-4d22d3557481cf64", "name": "Unused endpoint: GET /api/agents/:wallet/feedback/message", "shortDescription": {"text": "Unused endpoint: GET /api/agents/:wallet/feedback/message"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/agents/:wallet/feedback/message` 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-3f3168c99d693121", "name": "Unused endpoint: POST /api/sources/feedback", "shortDescription": {"text": "Unused endpoint: POST /api/sources/feedback"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/sources/feedback` 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-9f4621acaa3ca91d", "name": "Unused endpoint: GET /api/sources/events", "shortDescription": {"text": "Unused endpoint: GET /api/sources/events"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/sources/events` 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-a369f71214e9ef56", "name": "Unused endpoint: GET /api/leaderboard", "shortDescription": {"text": "Unused endpoint: GET /api/leaderboard"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/leaderboard` 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-daaabb51d9f2a286", "name": "Unused endpoint: GET /api/register", "shortDescription": {"text": "Unused endpoint: GET /api/register"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/register` 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-3fd2d9549fc4b3ec", "name": "Unused endpoint: POST /api/register/sponsored", "shortDescription": {"text": "Unused endpoint: POST /api/register/sponsored"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/register/sponsored` 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-3258a3a0cc0b103c", "name": "Unused endpoint: GET /api/register/sponsored/message", "shortDescription": {"text": "Unused endpoint: GET /api/register/sponsored/message"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/register/sponsored/message` 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-8d803e055f8a4aa1", "name": "Unused endpoint: GET /api/register/sponsored/status", "shortDescription": {"text": "Unused endpoint: GET /api/register/sponsored/status"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/register/sponsored/status` 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-603ef06a94268ca5", "name": "Unused endpoint: POST /api/register/pending", "shortDescription": {"text": "Unused endpoint: POST /api/register/pending"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/register/pending` 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-ea247bc1652867b4", "name": "Unused endpoint: POST /api/platforms/spawnr/register", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/spawnr/register"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/spawnr/register` 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-bfbda9d856d26750", "name": "Unused endpoint: POST /api/platforms/spawnr/confirm", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/spawnr/confirm"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/spawnr/confirm` 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-93c7f35ba34bf46c", "name": "Unused endpoint: POST /api/platforms/xona-orbit/register", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/xona-orbit/register"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/xona-orbit/register` 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-f57bc0374dddac6f", "name": "Unused endpoint: POST /api/platforms/xona-orbit/confirm", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/xona-orbit/confirm"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/xona-orbit/confirm` 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-2603eff03b9cb6eb", "name": "Unused endpoint: POST /api/platforms/kausa/register", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/kausa/register"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/kausa/register` 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-d3140b0c5ee05ac3", "name": "Unused endpoint: POST /api/platforms/kausa/confirm", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/kausa/confirm"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/kausa/confirm` 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-250ac557e5ab2270", "name": "Unused endpoint: POST /api/platforms/said-hosting/register", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/said-hosting/register"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/said-hosting/register` 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-7754f394269b813f", "name": "Unused endpoint: POST /api/platforms/said-hosting/confirm", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/said-hosting/confirm"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/said-hosting/confirm` 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-bdc122fb5eeb0f7e", "name": "Unused endpoint: PUT /api/platforms/spawnr/agents/:wallet", "shortDescription": {"text": "Unused endpoint: PUT /api/platforms/spawnr/agents/:wallet"}, "fullDescription": {"text": "`src/index.ts` declares `PUT /api/platforms/spawnr/agents/:wallet` 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-4ea9e9f7d482d37f", "name": "Unused endpoint: GET /api/platforms/spawnr/stats", "shortDescription": {"text": "Unused endpoint: GET /api/platforms/spawnr/stats"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/platforms/spawnr/stats` 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-354090afd03fe51e", "name": "Unused endpoint: GET /api/platforms/spawnr/agents", "shortDescription": {"text": "Unused endpoint: GET /api/platforms/spawnr/agents"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/platforms/spawnr/agents` 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-1b00baf76fdf613d", "name": "Unused endpoint: GET /api/badge/embed/:wallet", "shortDescription": {"text": "Unused endpoint: GET /api/badge/embed/:wallet"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/badge/embed/:wallet` 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-aa5a1d5e3365cd0c", "name": "Unused endpoint: POST /api/platforms/spawnr/webhooks", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/spawnr/webhooks"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/spawnr/webhooks` 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-e023beaa7b38107e", "name": "Unused endpoint: POST /api/platforms/seekerclaw/provision", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/seekerclaw/provision"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/seekerclaw/provision` 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-f6866ea8864a8a31", "name": "Unused endpoint: POST /api/platforms/seekerclaw/sign", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/seekerclaw/sign"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/seekerclaw/sign` 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-09ef731de2d3ab79", "name": "Unused endpoint: GET /api/platforms/seekerclaw/agents", "shortDescription": {"text": "Unused endpoint: GET /api/platforms/seekerclaw/agents"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/platforms/seekerclaw/agents` 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-d774ac5b58eb711d", "name": "Unused endpoint: GET /api/platforms/seekerclaw/agents/:agent_id", "shortDescription": {"text": "Unused endpoint: GET /api/platforms/seekerclaw/agents/:agent_id"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/platforms/seekerclaw/agents/:agent_id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-daeba7c8d409ad8b", "name": "Unused endpoint: GET /api/platforms/seekerclaw/balance", "shortDescription": {"text": "Unused endpoint: GET /api/platforms/seekerclaw/balance"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/platforms/seekerclaw/balance` 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-0c431d05e4b025dd", "name": "Unused endpoint: POST /api/platforms/fairscale/provision", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/fairscale/provision"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/fairscale/provision` 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-6a8c6a4edb9f9c42", "name": "Unused endpoint: POST /api/platforms/fairscale/sign", "shortDescription": {"text": "Unused endpoint: POST /api/platforms/fairscale/sign"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/platforms/fairscale/sign` 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-ff989cb992ef3bd3", "name": "Unused endpoint: GET /api/platforms/fairscale/agents", "shortDescription": {"text": "Unused endpoint: GET /api/platforms/fairscale/agents"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/platforms/fairscale/agents` 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-ac81ef73ae8888ac", "name": "Unused endpoint: GET /api/platforms/fairscale/agents/:agent_id", "shortDescription": {"text": "Unused endpoint: GET /api/platforms/fairscale/agents/:agent_id"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/platforms/fairscale/agents/:agent_id` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11fa4d792b3ba909", "name": "Unused endpoint: GET /api/platforms/fairscale/balance", "shortDescription": {"text": "Unused endpoint: GET /api/platforms/fairscale/balance"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/platforms/fairscale/balance` 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-3aab827ae0e51fa1", "name": "Unused endpoint: POST /api/cards", "shortDescription": {"text": "Unused endpoint: POST /api/cards"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/cards` 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-07dd70e66cbef226", "name": "Unused endpoint: GET /api/cards/:wallet", "shortDescription": {"text": "Unused endpoint: GET /api/cards/:wallet"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/cards/:wallet` 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-5536c3d0e7b86ac7", "name": "Unused endpoint: POST /api/register/prepare", "shortDescription": {"text": "Unused endpoint: POST /api/register/prepare"}, "fullDescription": {"text": "`src/index.ts` declares `POST /api/register/prepare` 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-78cca46f4f7224cf", "name": "Unused endpoint: GET /api/providers", "shortDescription": {"text": "Unused endpoint: GET /api/providers"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/providers` 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-c27ba6d101f9c5f5", "name": "Unused endpoint: GET /api/badge/:wallet{.+\\\\.svg}", "shortDescription": {"text": "Unused endpoint: GET /api/badge/:wallet{.+\\\\.svg}"}, "fullDescription": {"text": "`src/index.ts` declares `GET /api/badge/:wallet{.+\\\\.svg}` 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/18760"}, "properties": {"repository": "SAID-Protocol/said-api", "repoUrl": "https://github.com/SAID-Protocol/said-api", "branch": "main"}, "results": [{"ruleId": "scanner-c9224d9f9c4689a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 demo-a2a.js:15"}, "properties": {"repobilityId": "82ae6fb34578aa6a", "scanner": "scanner-primary", "fingerprint": "c9224d9f9c4689a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-df2def756475c531", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 clawpump-endpoints.ts:16"}, "properties": {"repobilityId": "e36fd91bc5013164", "scanner": "scanner-primary", "fingerprint": "df2def756475c531", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b8a46095637e7e99", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/active-agents.ts:40"}, "properties": {"repobilityId": "a9a23ad58631c7e7", "scanner": "scanner-primary", "fingerprint": "b8a46095637e7e99", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a62bd0c1f20f602f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/refresh-all-cached-scores.ts:150"}, "properties": {"repobilityId": "8e41f0b1542f7266", "scanner": "scanner-primary", "fingerprint": "a62bd0c1f20f602f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-756c95a65e861307", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/index.ts:7176"}, "properties": {"repobilityId": "3536c54822235cb2", "scanner": "scanner-primary", "fingerprint": "756c95a65e861307", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-66c98f014369487b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/index.ts:1558"}, "properties": {"repobilityId": "867f5b4f120dafeb", "scanner": "scanner-primary", "fingerprint": "66c98f014369487b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8e52926a97c07bc4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/ws-handler.ts:52"}, "properties": {"repobilityId": "a9966a5a7961e17f", "scanner": "scanner-primary", "fingerprint": "8e52926a97c07bc4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bcca67c73f181d60", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/wallet-endpoints.ts:231"}, "properties": {"repobilityId": "358744c8c7884a2a", "scanner": "scanner-primary", "fingerprint": "bcca67c73f181d60", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0c5c63ce5c2a088c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/wallet-endpoints.ts:249"}, "properties": {"repobilityId": "70915e3530fc8167", "scanner": "scanner-primary", "fingerprint": "0c5c63ce5c2a088c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-416dadedeaa56e07", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/a2a-endpoints.ts:168"}, "properties": {"repobilityId": "b242f7bf11808d14", "scanner": "scanner-primary", "fingerprint": "416dadedeaa56e07", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b205a4f3cbba691f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/score-engine.ts:375"}, "properties": {"repobilityId": "7bed1804c49fe4c1", "scanner": "scanner-primary", "fingerprint": "b205a4f3cbba691f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c7e8b6c5a9017f2f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/cross-chain-endpoints.ts:237"}, "properties": {"repobilityId": "690482a62370987e", "scanner": "scanner-primary", "fingerprint": "c7e8b6c5a9017f2f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9d609e89fc31cb83", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/x402-config.ts:129"}, "properties": {"repobilityId": "1023a0fbdd81bdb2", "scanner": "scanner-primary", "fingerprint": "9d609e89fc31cb83", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f4d8faa4469c1284", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/services/wallet-activity.ts:261"}, "properties": {"repobilityId": "705d40869b218aef", "scanner": "scanner-primary", "fingerprint": "f4d8faa4469c1284", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-01dd5636a6b57bb3", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in src/index.ts:228"}, "properties": {"repobilityId": "56c7c9857324258f", "scanner": "scanner-primary", "fingerprint": "01dd5636a6b57bb3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/index.ts"}, "region": {"startLine": 228}}}]}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-e59cf0a8c03e981c", "level": "note", "message": {"text": "Very large file: src/index.ts (9137 lines)"}, "properties": {"repobilityId": "25727599e08a7f66", "scanner": "scanner-primary", "fingerprint": "e59cf0a8c03e981c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "7565009cc8549242", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "e310cf01fbc01d42", "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": "f600ce2c100b2d48", "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": "e3b8aae63ac05f3a", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "8323d7b80436d052", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "db76311464c41b4e", "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": "ff127383bd0ff062", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-b07c20ab21dd2126", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/index.ts:572"}, "properties": {"repobilityId": "6bc34c7e2b108ad7", "scanner": "scanner-primary", "fingerprint": "b07c20ab21dd2126", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e3bd159c0f593a8", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/wallet-endpoints.ts:233"}, "properties": {"repobilityId": "ee5ee3b4761016ae", "scanner": "scanner-primary", "fingerprint": "2e3bd159c0f593a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-26ad2b81d47c96a2", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/score-engine.ts:366"}, "properties": {"repobilityId": "0afc4cd379ff15f8", "scanner": "scanner-primary", "fingerprint": "26ad2b81d47c96a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a3b1b79410f9db1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/score-engine.ts:131"}, "properties": {"repobilityId": "90bb94b2594d78ef", "scanner": "scanner-primary", "fingerprint": "1a3b1b79410f9db1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1b15c47695f3c61b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/services/wallet-activity.ts:37"}, "properties": {"repobilityId": "91da8588ed2c44df", "scanner": "scanner-primary", "fingerprint": "1b15c47695f3c61b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9cac7ce15e72817b", "level": "note", "message": {"text": "31 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "1a52e2d4d46a6e40", "scanner": "scanner-primary", "fingerprint": "9cac7ce15e72817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-ee9068f382b9f1ed", "level": "error", "message": {"text": "Dangling fetch: POST https://app.saidprotocol.com/api/internal/mint-nft (src/index.ts:4567)"}, "properties": {"repobilityId": "cef9eff49da09ec2", "scanner": "scanner-primary", "fingerprint": "ee9068f382b9f1ed", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2916a7559d9f8f2d", "level": "error", "message": {"text": "Dangling fetch: POST https://app.saidprotocol.com/api/internal/mint-nft (src/index.ts:5260)"}, "properties": {"repobilityId": "8f8ebb263117b053", "scanner": "scanner-primary", "fingerprint": "2916a7559d9f8f2d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7e3001c8eae917f2", "level": "error", "message": {"text": "Dangling fetch: GET https://api.dexscreener.com/latest/dex/tokens/${t.mint} (src/services/wallet-activity.ts:310)"}, "properties": {"repobilityId": "9d200dc31e7e48d1", "scanner": "scanner-primary", "fingerprint": "7e3001c8eae917f2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-80679d98a28260eb", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/clawpump/register"}, "properties": {"repobilityId": "7b2187b1c1419580", "scanner": "scanner-primary", "fingerprint": "80679d98a28260eb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0148676ea6708a6e", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/clawpump/confirm"}, "properties": {"repobilityId": "2deed2829bad1f84", "scanner": "scanner-primary", "fingerprint": "0148676ea6708a6e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3abf952b8d28d710", "level": "note", "message": {"text": "Unused endpoint: USE /*"}, "properties": {"repobilityId": "b8c1d35aebaf6a5f", "scanner": "scanner-primary", "fingerprint": "3abf952b8d28d710", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-32af5edd087acbbc", "level": "note", "message": {"text": "Unused endpoint: GET /api/events"}, "properties": {"repobilityId": "fc6b78832a1f2fe0", "scanner": "scanner-primary", "fingerprint": "32af5edd087acbbc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "1d5a1a5881aabadf", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-968d4311ce08cfe9", "level": "note", "message": {"text": "Unused endpoint: GET /openapi.json"}, "properties": {"repobilityId": "fab97af2c9269a33", "scanner": "scanner-primary", "fingerprint": "968d4311ce08cfe9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ebbac57e5f072883", "level": "note", "message": {"text": "Unused endpoint: GET /api/avatar/:file"}, "properties": {"repobilityId": "ad83d87e9b025586", "scanner": "scanner-primary", "fingerprint": "ebbac57e5f072883", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b7992fcec2ef106a", "level": "note", "message": {"text": "Unused endpoint: GET /api/messages/recent"}, "properties": {"repobilityId": "fe20a36b30d0ab49", "scanner": "scanner-primary", "fingerprint": "b7992fcec2ef106a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c4b0361ac0f5eeb9", "level": "note", "message": {"text": "Unused endpoint: GET /api/agents"}, "properties": {"repobilityId": "cfba4424d8b9c416", "scanner": "scanner-primary", "fingerprint": "c4b0361ac0f5eeb9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-283dde27cea28e97", "level": "note", "message": {"text": "Unused endpoint: GET /api/agents/top"}, "properties": {"repobilityId": "78bb6ffd6487697c", "scanner": "scanner-primary", "fingerprint": "283dde27cea28e97", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-abc84019cdd700b8", "level": "note", "message": {"text": "Unused endpoint: GET /api/agents/:wallet"}, "properties": {"repobilityId": "e0121a9e3c9d6ec1", "scanner": "scanner-primary", "fingerprint": "abc84019cdd700b8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-34e5b34097ee53d8", "level": "note", "message": {"text": "Unused endpoint: GET /api/agents/:wallet/feedback"}, "properties": {"repobilityId": "2b34ce4ea204c2b6", "scanner": "scanner-primary", "fingerprint": "34e5b34097ee53d8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d0046832aea77d37", "level": "note", "message": {"text": "Unused endpoint: POST /api/agents/:wallet/feedback"}, "properties": {"repobilityId": "8467f798f9536db2", "scanner": "scanner-primary", "fingerprint": "d0046832aea77d37", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4d22d3557481cf64", "level": "note", "message": {"text": "Unused endpoint: GET /api/agents/:wallet/feedback/message"}, "properties": {"repobilityId": "fe9cc32b7e34d034", "scanner": "scanner-primary", "fingerprint": "4d22d3557481cf64", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3f3168c99d693121", "level": "note", "message": {"text": "Unused endpoint: POST /api/sources/feedback"}, "properties": {"repobilityId": "533d88218be49745", "scanner": "scanner-primary", "fingerprint": "3f3168c99d693121", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9f4621acaa3ca91d", "level": "note", "message": {"text": "Unused endpoint: GET /api/sources/events"}, "properties": {"repobilityId": "fba0864562075b8b", "scanner": "scanner-primary", "fingerprint": "9f4621acaa3ca91d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a369f71214e9ef56", "level": "note", "message": {"text": "Unused endpoint: GET /api/leaderboard"}, "properties": {"repobilityId": "69da2c3cfc81f84b", "scanner": "scanner-primary", "fingerprint": "a369f71214e9ef56", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-daaabb51d9f2a286", "level": "note", "message": {"text": "Unused endpoint: GET /api/register"}, "properties": {"repobilityId": "14e525187330a3ce", "scanner": "scanner-primary", "fingerprint": "daaabb51d9f2a286", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3fd2d9549fc4b3ec", "level": "note", "message": {"text": "Unused endpoint: POST /api/register/sponsored"}, "properties": {"repobilityId": "fd66b542bf8cf46d", "scanner": "scanner-primary", "fingerprint": "3fd2d9549fc4b3ec", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3258a3a0cc0b103c", "level": "note", "message": {"text": "Unused endpoint: GET /api/register/sponsored/message"}, "properties": {"repobilityId": "d191f10bc0d8d742", "scanner": "scanner-primary", "fingerprint": "3258a3a0cc0b103c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8d803e055f8a4aa1", "level": "note", "message": {"text": "Unused endpoint: GET /api/register/sponsored/status"}, "properties": {"repobilityId": "a6903579c1c291d4", "scanner": "scanner-primary", "fingerprint": "8d803e055f8a4aa1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-603ef06a94268ca5", "level": "note", "message": {"text": "Unused endpoint: POST /api/register/pending"}, "properties": {"repobilityId": "3acae9621e73c760", "scanner": "scanner-primary", "fingerprint": "603ef06a94268ca5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ea247bc1652867b4", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/spawnr/register"}, "properties": {"repobilityId": "2837d320fe73dc5f", "scanner": "scanner-primary", "fingerprint": "ea247bc1652867b4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bfbda9d856d26750", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/spawnr/confirm"}, "properties": {"repobilityId": "1a99338e5b8c69da", "scanner": "scanner-primary", "fingerprint": "bfbda9d856d26750", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-93c7f35ba34bf46c", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/xona-orbit/register"}, "properties": {"repobilityId": "7fef04ffd9456b5c", "scanner": "scanner-primary", "fingerprint": "93c7f35ba34bf46c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f57bc0374dddac6f", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/xona-orbit/confirm"}, "properties": {"repobilityId": "ef45f435d24d1455", "scanner": "scanner-primary", "fingerprint": "f57bc0374dddac6f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2603eff03b9cb6eb", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/kausa/register"}, "properties": {"repobilityId": "f04f33392d1d8864", "scanner": "scanner-primary", "fingerprint": "2603eff03b9cb6eb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d3140b0c5ee05ac3", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/kausa/confirm"}, "properties": {"repobilityId": "7a5d0db9e7c95854", "scanner": "scanner-primary", "fingerprint": "d3140b0c5ee05ac3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-250ac557e5ab2270", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/said-hosting/register"}, "properties": {"repobilityId": "7327fc0ad2c7d793", "scanner": "scanner-primary", "fingerprint": "250ac557e5ab2270", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7754f394269b813f", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/said-hosting/confirm"}, "properties": {"repobilityId": "434bc4163b2dcbeb", "scanner": "scanner-primary", "fingerprint": "7754f394269b813f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bdc122fb5eeb0f7e", "level": "note", "message": {"text": "Unused endpoint: PUT /api/platforms/spawnr/agents/:wallet"}, "properties": {"repobilityId": "cf346959c447c9fa", "scanner": "scanner-primary", "fingerprint": "bdc122fb5eeb0f7e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4ea9e9f7d482d37f", "level": "note", "message": {"text": "Unused endpoint: GET /api/platforms/spawnr/stats"}, "properties": {"repobilityId": "4228b5c3d4eab870", "scanner": "scanner-primary", "fingerprint": "4ea9e9f7d482d37f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-354090afd03fe51e", "level": "note", "message": {"text": "Unused endpoint: GET /api/platforms/spawnr/agents"}, "properties": {"repobilityId": "2ed8863552790f19", "scanner": "scanner-primary", "fingerprint": "354090afd03fe51e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1b00baf76fdf613d", "level": "note", "message": {"text": "Unused endpoint: GET /api/badge/embed/:wallet"}, "properties": {"repobilityId": "7340b40f586852f7", "scanner": "scanner-primary", "fingerprint": "1b00baf76fdf613d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-aa5a1d5e3365cd0c", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/spawnr/webhooks"}, "properties": {"repobilityId": "789eee21d0be1f04", "scanner": "scanner-primary", "fingerprint": "aa5a1d5e3365cd0c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e023beaa7b38107e", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/seekerclaw/provision"}, "properties": {"repobilityId": "b6dfc4fd5bb190d2", "scanner": "scanner-primary", "fingerprint": "e023beaa7b38107e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f6866ea8864a8a31", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/seekerclaw/sign"}, "properties": {"repobilityId": "dfbaed3528f7d633", "scanner": "scanner-primary", "fingerprint": "f6866ea8864a8a31", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-09ef731de2d3ab79", "level": "note", "message": {"text": "Unused endpoint: GET /api/platforms/seekerclaw/agents"}, "properties": {"repobilityId": "adabe12276bd87be", "scanner": "scanner-primary", "fingerprint": "09ef731de2d3ab79", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d774ac5b58eb711d", "level": "note", "message": {"text": "Unused endpoint: GET /api/platforms/seekerclaw/agents/:agent_id"}, "properties": {"repobilityId": "f8ca90cc26c59d85", "scanner": "scanner-primary", "fingerprint": "d774ac5b58eb711d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-daeba7c8d409ad8b", "level": "note", "message": {"text": "Unused endpoint: GET /api/platforms/seekerclaw/balance"}, "properties": {"repobilityId": "623639cc005f5e91", "scanner": "scanner-primary", "fingerprint": "daeba7c8d409ad8b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0c431d05e4b025dd", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/fairscale/provision"}, "properties": {"repobilityId": "d3e3c1177f8a9437", "scanner": "scanner-primary", "fingerprint": "0c431d05e4b025dd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6a8c6a4edb9f9c42", "level": "note", "message": {"text": "Unused endpoint: POST /api/platforms/fairscale/sign"}, "properties": {"repobilityId": "e3bd46dd7cf13945", "scanner": "scanner-primary", "fingerprint": "6a8c6a4edb9f9c42", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ff989cb992ef3bd3", "level": "note", "message": {"text": "Unused endpoint: GET /api/platforms/fairscale/agents"}, "properties": {"repobilityId": "1566f5f889a6589c", "scanner": "scanner-primary", "fingerprint": "ff989cb992ef3bd3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ac81ef73ae8888ac", "level": "note", "message": {"text": "Unused endpoint: GET /api/platforms/fairscale/agents/:agent_id"}, "properties": {"repobilityId": "0f7636ae0605680e", "scanner": "scanner-primary", "fingerprint": "ac81ef73ae8888ac", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-11fa4d792b3ba909", "level": "note", "message": {"text": "Unused endpoint: GET /api/platforms/fairscale/balance"}, "properties": {"repobilityId": "5094e50f92b8184f", "scanner": "scanner-primary", "fingerprint": "11fa4d792b3ba909", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3aab827ae0e51fa1", "level": "note", "message": {"text": "Unused endpoint: POST /api/cards"}, "properties": {"repobilityId": "0aa99a29722cd75f", "scanner": "scanner-primary", "fingerprint": "3aab827ae0e51fa1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-07dd70e66cbef226", "level": "note", "message": {"text": "Unused endpoint: GET /api/cards/:wallet"}, "properties": {"repobilityId": "aaa1bfaa0aa6e2a6", "scanner": "scanner-primary", "fingerprint": "07dd70e66cbef226", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5536c3d0e7b86ac7", "level": "note", "message": {"text": "Unused endpoint: POST /api/register/prepare"}, "properties": {"repobilityId": "b22e32b74c985c6c", "scanner": "scanner-primary", "fingerprint": "5536c3d0e7b86ac7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-78cca46f4f7224cf", "level": "note", "message": {"text": "Unused endpoint: GET /api/providers"}, "properties": {"repobilityId": "a6f17a476dadca8a", "scanner": "scanner-primary", "fingerprint": "78cca46f4f7224cf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c27ba6d101f9c5f5", "level": "note", "message": {"text": "Unused endpoint: GET /api/badge/:wallet{.+\\\\.svg}"}, "properties": {"repobilityId": "17c41a6f76ce05bc", "scanner": "scanner-primary", "fingerprint": "c27ba6d101f9c5f5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}