{"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-bead75b0f9233e05", "name": "No API endpoints detected", "shortDescription": {"text": "No API endpoints detected"}, "fullDescription": {"text": "The scanner did not find FastAPI/Flask/Express/NestJS/GraphQL/gRPC routes. If this repo exposes APIs, the framework may be unsupported."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "info", "confidence": 1.0}}, {"id": "scanner-70c8f75a1b904b93", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 apps/id/src/app/layout.tsx:41", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 apps/id/src/app/layout.tsx:41"}, "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-f4591a7a9220d3ab", "name": "TODO/FIXME marker in shipping code \u2014 apps/id/src/lib/tools/availability.ts:44", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/id/src/lib/tools/availability.ts:44"}, "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-74ef996e1a30ff70", "name": "Icon-only button without accessible name \u2014 apps/hv/src/components/composer/ContactSelector.tsx:85", "shortDescription": {"text": "Icon-only button without accessible name \u2014 apps/hv/src/components/composer/ContactSelector.tsx:85"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e17b32f4fa67f8cd", "name": "Icon-only button without accessible name \u2014 apps/hv/src/components/pipeline/DealDetailPanel.tsx:140", "shortDescription": {"text": "Icon-only button without accessible name \u2014 apps/hv/src/components/pipeline/DealDetailPanel.tsx:140"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3098876acc6b4980", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 apps/hv/src/app/layout.tsx:32", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 apps/hv/src/app/layout.tsx:32"}, "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-bbbe42c24562f84b", "name": "Stray `console.log` in TS/JS \u2014 apps/hv/src/app/api/webhooks/resend/route.ts:205", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/hv/src/app/api/webhooks/resend/route.ts:205"}, "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-57eeb94ac520707b", "name": "Stray `console.log` in TS/JS \u2014 apps/hv/src/lib/calls/orchestrator.ts:235", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/hv/src/lib/calls/orchestrator.ts:235"}, "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-d6de88193ebc1056", "name": "Stray `console.log` in TS/JS \u2014 packages/synapse/src/presets/harvest.ts:189", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/synapse/src/presets/harvest.ts:189"}, "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-b308c67deea761a5", "name": "Stray `console.log` in TS/JS \u2014 packages/synapse/src/presets/dark-madder.ts:136", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/synapse/src/presets/dark-madder.ts:136"}, "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-dc94ff3d9bc1eb3c", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/cortex-cron/index.ts:151", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/cortex-cron/index.ts:151"}, "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-7dc93d401b10d079", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/webhook-retry/index.ts:167", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/webhook-retry/index.ts:167"}, "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-1f3987a8793699cd", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/archivist-cron/index.ts:230", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/archivist-cron/index.ts:230"}, "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-d03884c83df520aa", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/fixture-emitter-cron/index.ts:146", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/fixture-emitter-cron/index.ts:146"}, "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-250dbeed1777052d", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/authority-defaults-diff-cron/index.ts:189", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/authority-defaults-diff-cron/index.ts:189"}, "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-c70c4ba3dfb807d0", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/gmail-sync-cron/index.ts:131", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/gmail-sync-cron/index.ts:131"}, "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-1ab79dad13bfa056", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/expire-cron/index.ts:323", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/expire-cron/index.ts:323"}, "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-16c887ca7cb67a9a", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/model-discovery-cron/index.ts:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/model-discovery-cron/index.ts:62"}, "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-908cc11e6d90fa22", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/ratelimit-cleanup/index.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/ratelimit-cleanup/index.ts:45"}, "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-b117be11dc882274", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/sequence-cron/index.ts:142", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/sequence-cron/index.ts:142"}, "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-d0164956cec3fdf2", "name": "Insecure pattern 'dangerous_innerhtml' in apps/id/src/app/layout.tsx:41", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in apps/id/src/app/layout.tsx:41"}, "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-78436f0d745cc47d", "name": "Insecure pattern 'dangerous_innerhtml' in apps/hv/src/app/layout.tsx:32", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in apps/hv/src/app/layout.tsx:32"}, "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-7b5da30321808641", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "supabase/setup-cli@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-27924aa79fa4a517", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "pnpm/action-setup@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-846a8124f858e2f0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "supabase/setup-cli@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-88a6a28ac9b0a4b3", "name": "Very large file: packages/supabase/src/types.ts (5082 lines)", "shortDescription": {"text": "Very large file: packages/supabase/src/types.ts (5082 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "123 tests / 923 src (ratio 0.13)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "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-76925f2f79af914a", "name": "Node manifest has dependencies but no lockfile: apps/id/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/id/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d57b3f82d2270c5b", "name": "Node manifest has dependencies but no lockfile: apps/desktop/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/desktop/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8b11aeb1bd7ec876", "name": "Node manifest has dependencies but no lockfile: apps/hv/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/hv/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb3e52667c84fb86", "name": "Node manifest has dependencies but no lockfile: packages/types/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/types/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80f569ae36a3e3bf", "name": "Node manifest has dependencies but no lockfile: packages/ai/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/ai/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1cf5887fcaf59f3c", "name": "Node manifest has dependencies but no lockfile: packages/cortex/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/cortex/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9c03e4b51641936", "name": "Node manifest has dependencies but no lockfile: packages/mcp/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/mcp/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-50218c90b43393bb", "name": "Node manifest has dependencies but no lockfile: packages/ui/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/ui/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c3a7244487a096e1", "name": "Node manifest has dependencies but no lockfile: packages/sentinel/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/sentinel/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-664e52d25af00096", "name": "Node manifest has dependencies but no lockfile: packages/lib/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/lib/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52d796fddd5f858a", "name": "Node manifest has dependencies but no lockfile: packages/runtime/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/runtime/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ffb0f8c7b909c0bc", "name": "Node manifest has dependencies but no lockfile: packages/supabase/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/supabase/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b45b624f1b2e1cec", "name": "Node manifest has dependencies but no lockfile: packages/tools/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/tools/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf598226a2553c03", "name": "Node manifest has dependencies but no lockfile: packages/synapse/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/synapse/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-abfe0be0c8a30b32", "name": "Node manifest has dependencies but no lockfile: packages/deskof/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/deskof/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "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 27 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 111 placeholder/mock markers across 63 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-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "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, lockfile. 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": "low", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, lockfile. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-17d866d91a7c451e", "name": "Agent instruction/config may expose a secret: CLAUDE.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: CLAUDE.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-965107b150d5aabc", "name": "Agent instruction/config may expose a secret: docs/archive/CLAUDE.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: docs/archive/CLAUDE.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b19d390bf81a17fc", "name": "Agent instruction/config may expose a secret: marketing/creative/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: marketing/creative/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ffb17cf9d64956c5", "name": "Commented-code block (9 lines) in apps/id/src/instrumentation-node.ts:68", "shortDescription": {"text": "Commented-code block (9 lines) in apps/id/src/instrumentation-node.ts:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-641c22b334355318", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/components/cortex/GoalsManager.tsx:58", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/components/cortex/GoalsManager.tsx:58"}, "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-912b8adacb677185", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/components/cortex/BudgetManager.tsx:47", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/components/cortex/BudgetManager.tsx:47"}, "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-ea64dbd1bcaa61e6", "name": "Commented-code block (5 lines) in apps/id/src/components/cortex/authority/AuthorityGrantCard.tsx:506", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/components/cortex/authority/AuthorityGrantCard.tsx:506"}, "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-9159230de01fce2b", "name": "Commented-code block (5 lines) in apps/id/src/components/cortex/authority/AuthorityRealtimeRefresh.tsx:45", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/components/cortex/authority/AuthorityRealtimeRefresh.tsx:45"}, "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-18490603382451a7", "name": "Commented-code block (5 lines) in apps/id/src/components/cortex/authority/AuthorityManager.tsx:305", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/components/cortex/authority/AuthorityManager.tsx:305"}, "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-bd093bbbbcb67198", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/components/dashboard/ImportUploadModal.tsx:105", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/components/dashboard/ImportUploadModal.tsx:105"}, "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-59430fb5d7836b26", "name": "Commented-code block (5 lines) in apps/id/src/components/approvals/ApprovalPanel.tsx:228", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/components/approvals/ApprovalPanel.tsx:228"}, "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-983c0f746b08f8d1", "name": "Commented-code block (7 lines) in apps/id/src/components/onboarding/OnboardingFlow.tsx:88", "shortDescription": {"text": "Commented-code block (7 lines) in apps/id/src/components/onboarding/OnboardingFlow.tsx:88"}, "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-55ee3defd710ab30", "name": "Commented-code block (5 lines) in apps/id/src/app/api/integrations/nango/webhook/route.ts:226", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/integrations/nango/webhook/route.ts:226"}, "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-cbf34e8752f9a8f4", "name": "Commented-code block (6 lines) in apps/id/src/app/api/marcus/brief/route.ts:139", "shortDescription": {"text": "Commented-code block (6 lines) in apps/id/src/app/api/marcus/brief/route.ts:139"}, "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-6f69192a90049249", "name": "Commented-code block (5 lines) in apps/id/src/app/api/cortex/authority/[id]/pause/route.ts:33", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/cortex/authority/[id]/pause/route.ts:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5215a9a1360b4ab6", "name": "Commented-code block (5 lines) in apps/id/src/app/api/internal/operators/authority-agent/invoke/route.ts:89", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/internal/operators/authority-agent/invoke/route.ts:89"}, "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-3c78b5687104ff51", "name": "Commented-code block (5 lines) in apps/id/src/app/api/internal/workflows/archivist-maintenance/run/route.ts:109", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/internal/workflows/archivist-maintenance/run/route.ts:109"}, "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-640447a26c27bbda", "name": "Legacy-named symbol `sub_old` in apps/id/src/app/api/billing/webhook/route.test.ts:237", "shortDescription": {"text": "Legacy-named symbol `sub_old` in apps/id/src/app/api/billing/webhook/route.test.ts:237"}, "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-5f162bc05772cee2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/app/api/approvals/action/route.test.ts:36", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/app/api/approvals/action/route.test.ts:36"}, "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-8c2cf187d094fa03", "name": "Commented-code block (5 lines) in apps/id/src/app/api/onboarding/authority-defaults/route.ts:278", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/onboarding/authority-defaults/route.ts:278"}, "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-9dec748fabf0e617", "name": "Commented-code block (5 lines) in apps/id/src/app/api/connections/route.ts:96", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/connections/route.ts:96"}, "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-8df6bd0fa71244a2", "name": "Commented-code block (6 lines) in apps/id/src/app/api/connections/[id]/route.ts:43", "shortDescription": {"text": "Commented-code block (6 lines) in apps/id/src/app/api/connections/[id]/route.ts:43"}, "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-37263bafc7694c62", "name": "Commented-code block (5 lines) in apps/id/src/app/api/connections/system/[provider]/callback/route.ts:194", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/connections/system/[provider]/callback/route.ts:194"}, "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-2cf36e0969c79fa3", "name": "Commented-code block (8 lines) in apps/id/src/lib/state-machines-init.ts:94", "shortDescription": {"text": "Commented-code block (8 lines) in apps/id/src/lib/state-machines-init.ts:94"}, "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-763b3fb6df5fe21c", "name": "Legacy-named symbol `engagement_v2` in apps/id/src/lib/integrations/nango/__tests__/tiktok-handler.test.ts:106", "shortDescription": {"text": "Legacy-named symbol `engagement_v2` in apps/id/src/lib/integrations/nango/__tests__/tiktok-handler.test.ts:106"}, "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-321b5715031b585d", "name": "Commented-code block (5 lines) in apps/id/src/lib/integrations/nango/__tests__/tiktok-handler.test.ts:92", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/integrations/nango/__tests__/tiktok-handler.test.ts:92"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8a2fc0f44787cf32", "name": "Commented-code block (8 lines) in apps/id/src/lib/integrations/nango/handlers/auth.ts:201", "shortDescription": {"text": "Commented-code block (8 lines) in apps/id/src/lib/integrations/nango/handlers/auth.ts:201"}, "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-c14b48b641c3c05d", "name": "Commented-code block (5 lines) in apps/id/src/lib/integrations/nango/handlers/_social-post-shared.ts:94", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/integrations/nango/handlers/_social-post-shared.ts:94"}, "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-9e31483530fa4555", "name": "Commented-code block (5 lines) in apps/id/src/lib/integrations/nango/handlers/google-search-console.ts:126", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/integrations/nango/handlers/google-search-console.ts:126"}, "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-e1752518e11aca2d", "name": "Commented-code block (8 lines) in apps/id/src/lib/integrations/nango/handlers/tiktok.ts:108", "shortDescription": {"text": "Commented-code block (8 lines) in apps/id/src/lib/integrations/nango/handlers/tiktok.ts:108"}, "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-3dd6a54cc595285c", "name": "Commented-code block (5 lines) in apps/id/src/lib/action-classes/seeds/kinetiks-id.ts:91", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/action-classes/seeds/kinetiks-id.ts:91"}, "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-58b9d6fb2f953dd1", "name": "Commented-code block (5 lines) in apps/id/src/lib/email/mime.ts:78", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/email/mime.ts:78"}, "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-1a6556af540d9adc", "name": "Commented-code block (5 lines) in apps/id/src/lib/email/sender.ts:394", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/email/sender.ts:394"}, "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-40b04ee71891b9d5", "name": "Commented-code block (5 lines) in apps/id/src/lib/email/__tests__/mime.test.ts:85", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/email/__tests__/mime.test.ts:85"}, "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-9dcb9bb616fa5d3f", "name": "Commented-code block (5 lines) in apps/id/src/lib/ai/task-registry.ts:144", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/ai/task-registry.ts:144"}, "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-ba59a622da886e87", "name": "Commented-code block (5 lines) in apps/id/src/lib/marcus/pre-analysis.ts:192", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/marcus/pre-analysis.ts:192"}, "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-438eddc1ae8a3f5a", "name": "Commented-code block (6 lines) in apps/id/src/lib/marcus/engine.ts:314", "shortDescription": {"text": "Commented-code block (6 lines) in apps/id/src/lib/marcus/engine.ts:314"}, "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-517f91109423fb59", "name": "Legacy-named symbol `write_ad_copy` in apps/id/src/lib/marcus/context-assembly.ts:283", "shortDescription": {"text": "Legacy-named symbol `write_ad_copy` in apps/id/src/lib/marcus/context-assembly.ts:283"}, "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-3a05b7f2668a59b7", "name": "Commented-code block (5 lines) in apps/id/src/lib/marcus/__tests__/evidence-brief-snapshot.test.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/marcus/__tests__/evidence-brief-snapshot.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-dcfd273c272d4347", "name": "Commented-code block (5 lines) in apps/id/src/lib/operators/executors/archivist.ts:47", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/operators/executors/archivist.ts:47"}, "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-31fdcadf7dde2ac0", "name": "Commented-code block (7 lines) in apps/id/src/lib/operators/executors/authority-agent/evidence.ts:118", "shortDescription": {"text": "Commented-code block (7 lines) in apps/id/src/lib/operators/executors/authority-agent/evidence.ts:118"}, "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-3bce7ba398eba282", "name": "Commented-code block (5 lines) in apps/id/src/lib/operators/executors/authority-agent/validate.ts:155", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/operators/executors/authority-agent/validate.ts:155"}, "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-a054f2c7eb54c880", "name": "Commented-code block (5 lines) in apps/id/src/lib/cortex/submit-context-edit.ts:135", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/cortex/submit-context-edit.ts:135"}, "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-884cb36636b999dc", "name": "Commented-code block (5 lines) in apps/id/src/lib/cortex/authority/usage-summary-rollup.ts:70", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/cortex/authority/usage-summary-rollup.ts:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb0cec536d4fbaf3", "name": "Commented-code block (7 lines) in apps/id/src/lib/cortex/authority/lifecycle.ts:325", "shortDescription": {"text": "Commented-code block (7 lines) in apps/id/src/lib/cortex/authority/lifecycle.ts:325"}, "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-e241a6f5d81073c2", "name": "Commented-code block (5 lines) in apps/id/src/lib/cortex/authority/resolve.ts:55", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/cortex/authority/resolve.ts:55"}, "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-bc85516f6b370361", "name": "Commented-code block (5 lines) in apps/id/src/lib/cortex/authority/__tests__/lifecycle.test.ts:99", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/cortex/authority/__tests__/lifecycle.test.ts:99"}, "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-d76f8f21acf8b75a", "name": "Commented-code block (7 lines) in apps/id/src/lib/cortex/patterns/list.ts:92", "shortDescription": {"text": "Commented-code block (7 lines) in apps/id/src/lib/cortex/patterns/list.ts:92"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3bd18d6ff2ecffb0", "name": "Commented-code block (6 lines) in apps/id/src/lib/oracle/runner.ts:211", "shortDescription": {"text": "Commented-code block (6 lines) in apps/id/src/lib/oracle/runner.ts:211"}, "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-a867ecc5f4f7c81f", "name": "Commented-code block (8 lines) in apps/id/src/lib/oracle/insights/writer.ts:124", "shortDescription": {"text": "Commented-code block (8 lines) in apps/id/src/lib/oracle/insights/writer.ts:124"}, "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-7d74e8fa025307a7", "name": "Commented-code block (5 lines) in apps/id/src/lib/oracle/detectors/cross-dimension-drill.ts:79", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/oracle/detectors/cross-dimension-drill.ts:79"}, "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-86073051c319acd3", "name": "Commented-code block (5 lines) in apps/id/src/lib/fixtures/harvest-sequence-step-conversion.ts:18", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/fixtures/harvest-sequence-step-conversion.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-a86a7cb25bd894d8", "name": "Commented-code block (5 lines) in apps/id/src/lib/fixtures/harvest-outreach-angle-performance.ts:17", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/fixtures/harvest-outreach-angle-performance.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-ab0fcc5cd812368d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/lib/utils/api-client.ts:33", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/lib/utils/api-client.ts:33"}, "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-ad6b5d400081cfa8", "name": "Commented-code block (7 lines) in apps/id/src/lib/cartographer/conversation.ts:314", "shortDescription": {"text": "Commented-code block (7 lines) in apps/id/src/lib/cartographer/conversation.ts:314"}, "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-ce7a17fffba1d537", "name": "Commented-code block (6 lines) in apps/id/src/lib/billing/stripe.ts:301", "shortDescription": {"text": "Commented-code block (6 lines) in apps/id/src/lib/billing/stripe.ts:301"}, "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-98328a657feab69a", "name": "Commented-code block (8 lines) in apps/id/src/lib/approvals/authority-grant.ts:200", "shortDescription": {"text": "Commented-code block (8 lines) in apps/id/src/lib/approvals/authority-grant.ts:200"}, "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-ac03b249bb3b2e14", "name": "Commented-code block (5 lines) in apps/id/src/lib/approvals/learning-loop.ts:62", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/approvals/learning-loop.ts:62"}, "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-ac05e515c4ebba77", "name": "Commented-code block (6 lines) in apps/id/src/lib/approvals/pipeline.ts:71", "shortDescription": {"text": "Commented-code block (6 lines) in apps/id/src/lib/approvals/pipeline.ts:71"}, "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-7903b02d3949a46d", "name": "Commented-code block (7 lines) in apps/id/src/lib/runtime/runtime-boot.ts:235", "shortDescription": {"text": "Commented-code block (7 lines) in apps/id/src/lib/runtime/runtime-boot.ts:235"}, "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-fcf7a32afefd53d4", "name": "Commented-code block (5 lines) in apps/id/src/lib/patterns/declining-history.ts:37", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/patterns/declining-history.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-d91147c20ab3bfaf", "name": "Commented-code block (5 lines) in apps/id/src/lib/patterns/deferred-emit.ts:147", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/patterns/deferred-emit.ts:147"}, "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-a26b227a44abe4e4", "name": "Commented-code block (5 lines) in apps/id/src/lib/patterns/emit-internal.ts:313", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/patterns/emit-internal.ts:313"}, "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-145e8211641048f3", "name": "Commented-code block (5 lines) in apps/id/src/lib/patterns/__tests__/emit-internal.test.ts:17", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/patterns/__tests__/emit-internal.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-f7a581eef7214b01", "name": "Commented-code block (5 lines) in apps/id/src/lib/patterns/__tests__/decay-calibration.test.ts:419", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/patterns/__tests__/decay-calibration.test.ts:419"}, "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-4885c2b8bc58e11f", "name": "Commented-code block (5 lines) in apps/id/src/lib/patterns/__tests__/confidence.test.ts:120", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/patterns/__tests__/confidence.test.ts:120"}, "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-0c2e95e89e20cebd", "name": "Commented-code block (5 lines) in apps/id/src/lib/workflows/__tests__/archivist-maintenance.test.ts:270", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/workflows/__tests__/archivist-maintenance.test.ts:270"}, "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-5434f5ad695dbb8e", "name": "Commented-code block (5 lines) in apps/id/src/lib/tools/query-actions-authority.ts:87", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/tools/query-actions-authority.ts:87"}, "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-a41cc50090ff5381", "name": "Commented-code block (5 lines) in apps/id/src/lib/tools/draft-email.ts:69", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/tools/draft-email.ts:69"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c18de63358a85f79", "name": "Commented-code block (5 lines) in apps/id/src/lib/tools/query-active-authority.ts:105", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/tools/query-active-authority.ts:105"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-552e37a6c9b496a8", "name": "Commented-code block (10 lines) in apps/id/src/lib/tools/send-slack-notification.ts:34", "shortDescription": {"text": "Commented-code block (10 lines) in apps/id/src/lib/tools/send-slack-notification.ts:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2534d93bfb795011", "name": "Commented-code block (5 lines) in apps/id/src/lib/tools/availability.ts:18", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/tools/availability.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-e18c2e83139c5aa3", "name": "Commented-code block (7 lines) in apps/id/src/lib/tools/hubspot-query.ts:9", "shortDescription": {"text": "Commented-code block (7 lines) in apps/id/src/lib/tools/hubspot-query.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-210ee1a3eb718684", "name": "Commented-code block (7 lines) in apps/id/src/lib/tools/registry-boot.ts:84", "shortDescription": {"text": "Commented-code block (7 lines) in apps/id/src/lib/tools/registry-boot.ts:84"}, "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-49df09fb7a63c0c2", "name": "Commented-code block (5 lines) in apps/id/src/lib/tools/_helpers/social-read.ts:16", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/tools/_helpers/social-read.ts:16"}, "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-27a986dbc1e9a77a", "name": "Commented-code block (5 lines) in apps/id/src/lib/connections/system-oauth.ts:393", "shortDescription": {"text": "Commented-code block (5 lines) in apps/id/src/lib/connections/system-oauth.ts:393"}, "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-d03c5afbe424d743", "name": "Commented-code block (7 lines) in apps/id/src/lib/calendar/prep.ts:107", "shortDescription": {"text": "Commented-code block (7 lines) in apps/id/src/lib/calendar/prep.ts:107"}, "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-7980c780603fa07c", "name": "Legacy-named symbol `cta_copy` in apps/hv/src/types/outreach-goal.ts:36", "shortDescription": {"text": "Legacy-named symbol `cta_copy` in apps/hv/src/types/outreach-goal.ts:36"}, "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-faced6604b4cc296", "name": "Legacy-named symbol `cta_copy` in apps/hv/src/components/settings/OutreachGoalConfig.tsx:157", "shortDescription": {"text": "Legacy-named symbol `cta_copy` in apps/hv/src/components/settings/OutreachGoalConfig.tsx:157"}, "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-9129af252c86ea09", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/settings/SuppressionsList.tsx:46", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/settings/SuppressionsList.tsx:46"}, "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-2250ad2df44c955c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/prospects/ProspectsView.tsx:27", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/prospects/ProspectsView.tsx:27"}, "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-d52e0fb52cd7e48a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/composer/ComposeView.tsx:220", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/composer/ComposeView.tsx:220"}, "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-392314122d7eb638", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/onboarding/steps/SenderProfileStep.tsx:70", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/onboarding/steps/SenderProfileStep.tsx:70"}, "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-c8ab6925bcb64d60", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/pipeline/DealDetailPanel.tsx:52", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/pipeline/DealDetailPanel.tsx:52"}, "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-7205b11cb1e324ef", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/pipeline/CloseDealModal.tsx:75", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/pipeline/CloseDealModal.tsx:75"}, "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-608633af1712a961", "name": "Legacy-named symbol `cta_copy` in apps/hv/src/app/api/hv/outreach-goal/route.ts:72", "shortDescription": {"text": "Legacy-named symbol `cta_copy` in apps/hv/src/app/api/hv/outreach-goal/route.ts:72"}, "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-f3afbb31291b654f", "name": "Legacy-named symbol `cta_copy` in apps/hv/src/app/api/hv/templates/generate/route.ts:66", "shortDescription": {"text": "Legacy-named symbol `cta_copy` in apps/hv/src/app/api/hv/templates/generate/route.ts:66"}, "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-2cd695273bb8717c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/app/(dashboard)/field/page.tsx:27", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/app/(dashboard)/field/page.tsx:27"}, "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-e054bbef0bd94073", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/lib/scout/pdl.ts:23", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/lib/scout/pdl.ts:23"}, "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-ffd699236d9fa52c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/lib/scout/hunter.ts:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/lib/scout/hunter.ts:28"}, "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-1d44b84197b2b650", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/lib/calls/twilio-client.ts:50", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/lib/calls/twilio-client.ts:50"}, "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-704d15ebe3c5a5bb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/lib/inbox/gmail-sync.ts:198", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/lib/inbox/gmail-sync.ts:198"}, "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-0d669078539d4c84", "name": "Commented-code block (9 lines) in packages/types/src/billing.ts:288", "shortDescription": {"text": "Commented-code block (9 lines) in packages/types/src/billing.ts:288"}, "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-6d871e9fee2b12a2", "name": "Legacy-named symbol `write_ad_copy` in packages/ai/src/knowledge/registry.ts:26", "shortDescription": {"text": "Legacy-named symbol `write_ad_copy` in packages/ai/src/knowledge/registry.ts:26"}, "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-70a7fe6331cf2440", "name": "Legacy-named symbol `write_ad_copy` in packages/ai/src/knowledge/types.ts:58", "shortDescription": {"text": "Legacy-named symbol `write_ad_copy` in packages/ai/src/knowledge/types.ts:58"}, "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-462778c869c62bbe", "name": "Commented-code block (5 lines) in packages/cortex/src/route.ts:217", "shortDescription": {"text": "Commented-code block (5 lines) in packages/cortex/src/route.ts:217"}, "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-0518542e5e83ddbc", "name": "Commented-code block (5 lines) in packages/cortex/src/conflict.ts:125", "shortDescription": {"text": "Commented-code block (5 lines) in packages/cortex/src/conflict.ts:125"}, "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-68bea64a0dc93ff2", "name": "Commented-code block (6 lines) in packages/lib/src/env.ts:82", "shortDescription": {"text": "Commented-code block (6 lines) in packages/lib/src/env.ts:82"}, "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-7a927f18fd5d470e", "name": "Commented-code block (6 lines) in packages/runtime/src/run.ts:118", "shortDescription": {"text": "Commented-code block (6 lines) in packages/runtime/src/run.ts:118"}, "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-62f3f76faab2e55d", "name": "Commented-code block (5 lines) in packages/runtime/src/authority.ts:669", "shortDescription": {"text": "Commented-code block (5 lines) in packages/runtime/src/authority.ts:669"}, "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-cd20abef9abc1569", "name": "Commented-code block (7 lines) in packages/runtime/src/__tests__/authority-resolution.test.ts:45", "shortDescription": {"text": "Commented-code block (7 lines) in packages/runtime/src/__tests__/authority-resolution.test.ts:45"}, "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-e5ffad63e56075d7", "name": "Commented-code block (5 lines) in packages/supabase/src/types.ts:4891", "shortDescription": {"text": "Commented-code block (5 lines) in packages/supabase/src/types.ts:4891"}, "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-2cc30f7bf7b2fb89", "name": "Commented-code block (8 lines) in packages/tools/src/validate.ts:75", "shortDescription": {"text": "Commented-code block (8 lines) in packages/tools/src/validate.ts:75"}, "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-0821756397ab8806", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/synapse/src/create-synapse.ts:166", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/synapse/src/create-synapse.ts:166"}, "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-1df34cb595bd7d59", "name": "Commented-code block (6 lines) in packages/deskof/src/lens/calibration.ts:36", "shortDescription": {"text": "Commented-code block (6 lines) in packages/deskof/src/lens/calibration.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-1792ae06f769e305", "name": "Commented-code block (5 lines) in packages/deskof/src/lens/checks/llm-checks.ts:113", "shortDescription": {"text": "Commented-code block (5 lines) in packages/deskof/src/lens/checks/llm-checks.ts:113"}, "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-1a711e4512f1840c", "name": "Commented-code block (9 lines) in supabase/functions/archivist-cron/index.ts:14", "shortDescription": {"text": "Commented-code block (9 lines) in supabase/functions/archivist-cron/index.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-0300a58f7636b102", "name": "Commented-code block (8 lines) in supabase/functions/fixture-emitter-cron/index.ts:3", "shortDescription": {"text": "Commented-code block (8 lines) in supabase/functions/fixture-emitter-cron/index.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-fac9cdffc7a6a827", "name": "Commented-code block (6 lines) in supabase/functions/authority-defaults-diff-cron/index.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/authority-defaults-diff-cron/index.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cc048f74ca6a9e47", "name": "Commented-code block (5 lines) in supabase/functions/expire-cron/index.ts:216", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/expire-cron/index.ts:216"}, "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-a5c42b965a0f92b6", "name": "Commented-code block (9 lines) in supabase/functions/meeting-prep/index.ts:8", "shortDescription": {"text": "Commented-code block (9 lines) in supabase/functions/meeting-prep/index.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-60246810bc46c441", "name": "Commented-code block (9 lines) in supabase/functions/email-poll/index.ts:7", "shortDescription": {"text": "Commented-code block (9 lines) in supabase/functions/email-poll/index.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-200e447143667f6e", "name": "Commented-code block (9 lines) in supabase/functions/oracle-analysis-cron/index.ts:6", "shortDescription": {"text": "Commented-code block (9 lines) in supabase/functions/oracle-analysis-cron/index.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-86534b2f7f7a6714", "name": "Commented-code block (7 lines) in supabase/functions/model-discovery-cron/index.ts:5", "shortDescription": {"text": "Commented-code block (7 lines) in supabase/functions/model-discovery-cron/index.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-49849276e14c452f", "name": "Commented-code block (6 lines) in supabase/functions/ratelimit-cleanup/index.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/ratelimit-cleanup/index.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-a9836457f7ec50c4", "name": "23 env vars used in code but missing from .env.example", "shortDescription": {"text": "23 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `AWS_REGION`, `AWS_SES_CONFIG_SET`, `AWS_SES_REGION`, `DEFAULT_FROM_EMAIL`, `ELEVENLABS_AGENT_ID`, `ELEVENLABS_API_KEY`, `KINETIKS_API_KEY`, `KINETIKS_API_URL` + 15 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}}]}}, "automationDetails": {"id": "repobility/23516"}, "properties": {"repository": "zackfunprojects/kinetiks", "repoUrl": "https://github.com/zackfunprojects/kinetiks", "branch": "main"}, "results": [{"ruleId": "scanner-bead75b0f9233e05", "level": "none", "message": {"text": "No API endpoints detected"}, "properties": {"repobilityId": "0f8bb852027c38f8", "scanner": "scanner-primary", "fingerprint": "bead75b0f9233e05", "layer": "api", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-70c8f75a1b904b93", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 apps/id/src/app/layout.tsx:41"}, "properties": {"repobilityId": "52fe07f29370011d", "scanner": "scanner-primary", "fingerprint": "70c8f75a1b904b93", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-f4591a7a9220d3ab", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/id/src/lib/tools/availability.ts:44"}, "properties": {"repobilityId": "bf7faca5c58e8d3e", "scanner": "scanner-primary", "fingerprint": "f4591a7a9220d3ab", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-74ef996e1a30ff70", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 apps/hv/src/components/composer/ContactSelector.tsx:85"}, "properties": {"repobilityId": "649f585284089807", "scanner": "scanner-primary", "fingerprint": "74ef996e1a30ff70", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-e17b32f4fa67f8cd", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 apps/hv/src/components/pipeline/DealDetailPanel.tsx:140"}, "properties": {"repobilityId": "431f44eb38c91b80", "scanner": "scanner-primary", "fingerprint": "e17b32f4fa67f8cd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-3098876acc6b4980", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 apps/hv/src/app/layout.tsx:32"}, "properties": {"repobilityId": "db6be085efb5915d", "scanner": "scanner-primary", "fingerprint": "3098876acc6b4980", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-bbbe42c24562f84b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/hv/src/app/api/webhooks/resend/route.ts:205"}, "properties": {"repobilityId": "01b973799b9224d5", "scanner": "scanner-primary", "fingerprint": "bbbe42c24562f84b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57eeb94ac520707b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/hv/src/lib/calls/orchestrator.ts:235"}, "properties": {"repobilityId": "8d42959ad1ea251a", "scanner": "scanner-primary", "fingerprint": "57eeb94ac520707b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d6de88193ebc1056", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/synapse/src/presets/harvest.ts:189"}, "properties": {"repobilityId": "65ba3f55ea0d15ad", "scanner": "scanner-primary", "fingerprint": "d6de88193ebc1056", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b308c67deea761a5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/synapse/src/presets/dark-madder.ts:136"}, "properties": {"repobilityId": "888abf7649455311", "scanner": "scanner-primary", "fingerprint": "b308c67deea761a5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc94ff3d9bc1eb3c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/cortex-cron/index.ts:151"}, "properties": {"repobilityId": "e37fcac17d7c4ef6", "scanner": "scanner-primary", "fingerprint": "dc94ff3d9bc1eb3c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7dc93d401b10d079", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/webhook-retry/index.ts:167"}, "properties": {"repobilityId": "b1883e1d30fd944a", "scanner": "scanner-primary", "fingerprint": "7dc93d401b10d079", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1f3987a8793699cd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/archivist-cron/index.ts:230"}, "properties": {"repobilityId": "5ba1161fb2aa72fd", "scanner": "scanner-primary", "fingerprint": "1f3987a8793699cd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d03884c83df520aa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/fixture-emitter-cron/index.ts:146"}, "properties": {"repobilityId": "625011fd45285501", "scanner": "scanner-primary", "fingerprint": "d03884c83df520aa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-250dbeed1777052d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/authority-defaults-diff-cron/index.ts:189"}, "properties": {"repobilityId": "fb279aa2fa13ee6e", "scanner": "scanner-primary", "fingerprint": "250dbeed1777052d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c70c4ba3dfb807d0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/gmail-sync-cron/index.ts:131"}, "properties": {"repobilityId": "22f3b17c0955847a", "scanner": "scanner-primary", "fingerprint": "c70c4ba3dfb807d0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1ab79dad13bfa056", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/expire-cron/index.ts:323"}, "properties": {"repobilityId": "b18fa62a014ec465", "scanner": "scanner-primary", "fingerprint": "1ab79dad13bfa056", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-16c887ca7cb67a9a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/model-discovery-cron/index.ts:62"}, "properties": {"repobilityId": "3f70ff9ba4c0c6f8", "scanner": "scanner-primary", "fingerprint": "16c887ca7cb67a9a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-908cc11e6d90fa22", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/ratelimit-cleanup/index.ts:45"}, "properties": {"repobilityId": "bc0887f2d9953633", "scanner": "scanner-primary", "fingerprint": "908cc11e6d90fa22", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b117be11dc882274", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/sequence-cron/index.ts:142"}, "properties": {"repobilityId": "b0a767cd14239f24", "scanner": "scanner-primary", "fingerprint": "b117be11dc882274", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d0164956cec3fdf2", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in apps/id/src/app/layout.tsx:41"}, "properties": {"repobilityId": "7989b14e5dc4c73f", "scanner": "scanner-primary", "fingerprint": "d0164956cec3fdf2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/id/src/app/layout.tsx"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-78436f0d745cc47d", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in apps/hv/src/app/layout.tsx:32"}, "properties": {"repobilityId": "ac97ce319fe1a1f3", "scanner": "scanner-primary", "fingerprint": "78436f0d745cc47d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/hv/src/app/layout.tsx"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-7b5da30321808641", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f2cbdb9b95f82cff", "scanner": "scanner-primary", "fingerprint": "7b5da30321808641", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/rls-tests.yml"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "54597edb7f5bad38", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "989a74409a402368", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-846a8124f858e2f0", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "503e2baa3810c106", "scanner": "scanner-primary", "fingerprint": "846a8124f858e2f0", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/edge-functions-drift.yml"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-88a6a28ac9b0a4b3", "level": "note", "message": {"text": "Very large file: packages/supabase/src/types.ts (5082 lines)"}, "properties": {"repobilityId": "7f8b088e00471fa3", "scanner": "scanner-primary", "fingerprint": "88a6a28ac9b0a4b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "8696ffa6daca7a10", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-76925f2f79af914a", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/id/package.json"}, "properties": {"repobilityId": "0d07d949af6f0400", "scanner": "scanner-primary", "fingerprint": "76925f2f79af914a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/id/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d57b3f82d2270c5b", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/desktop/package.json"}, "properties": {"repobilityId": "a5d1a254ecc349f8", "scanner": "scanner-primary", "fingerprint": "d57b3f82d2270c5b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8b11aeb1bd7ec876", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/hv/package.json"}, "properties": {"repobilityId": "755a4fbddf3cca53", "scanner": "scanner-primary", "fingerprint": "8b11aeb1bd7ec876", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/hv/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb3e52667c84fb86", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/types/package.json"}, "properties": {"repobilityId": "b5e2784f829944e6", "scanner": "scanner-primary", "fingerprint": "cb3e52667c84fb86", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/types/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-80f569ae36a3e3bf", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/ai/package.json"}, "properties": {"repobilityId": "2d5eb1212f62ce31", "scanner": "scanner-primary", "fingerprint": "80f569ae36a3e3bf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ai/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1cf5887fcaf59f3c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/cortex/package.json"}, "properties": {"repobilityId": "bff06dfd04633284", "scanner": "scanner-primary", "fingerprint": "1cf5887fcaf59f3c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/cortex/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b9c03e4b51641936", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/mcp/package.json"}, "properties": {"repobilityId": "7b57a55f1ea73746", "scanner": "scanner-primary", "fingerprint": "b9c03e4b51641936", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/mcp/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-50218c90b43393bb", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/ui/package.json"}, "properties": {"repobilityId": "637e26a8c754e81d", "scanner": "scanner-primary", "fingerprint": "50218c90b43393bb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ui/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c3a7244487a096e1", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/sentinel/package.json"}, "properties": {"repobilityId": "e138495b44e8e27e", "scanner": "scanner-primary", "fingerprint": "c3a7244487a096e1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/sentinel/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-664e52d25af00096", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/lib/package.json"}, "properties": {"repobilityId": "174354ac67c3b362", "scanner": "scanner-primary", "fingerprint": "664e52d25af00096", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/lib/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-52d796fddd5f858a", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/runtime/package.json"}, "properties": {"repobilityId": "4932f1d5119af9ac", "scanner": "scanner-primary", "fingerprint": "52d796fddd5f858a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/runtime/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ffb0f8c7b909c0bc", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/supabase/package.json"}, "properties": {"repobilityId": "75551f0201d7ab85", "scanner": "scanner-primary", "fingerprint": "ffb0f8c7b909c0bc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/supabase/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b45b624f1b2e1cec", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/tools/package.json"}, "properties": {"repobilityId": "767491b0490d1f83", "scanner": "scanner-primary", "fingerprint": "b45b624f1b2e1cec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/tools/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cf598226a2553c03", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/synapse/package.json"}, "properties": {"repobilityId": "0fe00397c1f69d20", "scanner": "scanner-primary", "fingerprint": "cf598226a2553c03", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/synapse/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-abfe0be0c8a30b32", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/deskof/package.json"}, "properties": {"repobilityId": "377348fe3522031a", "scanner": "scanner-primary", "fingerprint": "abfe0be0c8a30b32", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/deskof/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "a86968207966a9e6", "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": "ad87a866a2a4808f", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "ffb5aee41efdc4d5", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "92383bcd28d23214", "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": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "fcb2c82d004e51f5", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "7a5c608528cf89c7", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "d89ca76b2cfd3658", "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": "1a94b285696e7dd5", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-17d866d91a7c451e", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: CLAUDE.md"}, "properties": {"repobilityId": "ccce5984e58a48f0", "scanner": "scanner-primary", "fingerprint": "17d866d91a7c451e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 825}}}]}, {"ruleId": "scanner-965107b150d5aabc", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: docs/archive/CLAUDE.md"}, "properties": {"repobilityId": "9873d041846ed0f9", "scanner": "scanner-primary", "fingerprint": "965107b150d5aabc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/archive/CLAUDE.md"}, "region": {"startLine": 319}}}]}, {"ruleId": "scanner-b19d390bf81a17fc", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: marketing/creative/SKILL.md"}, "properties": {"repobilityId": "e586cbbe5ca3a709", "scanner": "scanner-primary", "fingerprint": "b19d390bf81a17fc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "marketing/creative/SKILL.md"}, "region": {"startLine": 62}}}]}, {"ruleId": "scanner-ffb17cf9d64956c5", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/id/src/instrumentation-node.ts:68"}, "properties": {"repobilityId": "97f13a93b57df935", "scanner": "scanner-primary", "fingerprint": "ffb17cf9d64956c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-641c22b334355318", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/components/cortex/GoalsManager.tsx:58"}, "properties": {"repobilityId": "05aee60fbd3d3380", "scanner": "scanner-primary", "fingerprint": "641c22b334355318", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-912b8adacb677185", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/components/cortex/BudgetManager.tsx:47"}, "properties": {"repobilityId": "1aae35d5c8dc5470", "scanner": "scanner-primary", "fingerprint": "912b8adacb677185", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ea64dbd1bcaa61e6", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/components/cortex/authority/AuthorityGrantCard.tsx:506"}, "properties": {"repobilityId": "ae8c1ff50f0dbc71", "scanner": "scanner-primary", "fingerprint": "ea64dbd1bcaa61e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9159230de01fce2b", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/components/cortex/authority/AuthorityRealtimeRefresh.tsx:45"}, "properties": {"repobilityId": "8ec70c8d71ffbd75", "scanner": "scanner-primary", "fingerprint": "9159230de01fce2b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-18490603382451a7", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/components/cortex/authority/AuthorityManager.tsx:305"}, "properties": {"repobilityId": "253c267ff19f7848", "scanner": "scanner-primary", "fingerprint": "18490603382451a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd093bbbbcb67198", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/components/dashboard/ImportUploadModal.tsx:105"}, "properties": {"repobilityId": "9f71064d7a400fad", "scanner": "scanner-primary", "fingerprint": "bd093bbbbcb67198", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-59430fb5d7836b26", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/components/approvals/ApprovalPanel.tsx:228"}, "properties": {"repobilityId": "b61eefa79233781a", "scanner": "scanner-primary", "fingerprint": "59430fb5d7836b26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-983c0f746b08f8d1", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/id/src/components/onboarding/OnboardingFlow.tsx:88"}, "properties": {"repobilityId": "37b8edd3454fc504", "scanner": "scanner-primary", "fingerprint": "983c0f746b08f8d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55ee3defd710ab30", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/integrations/nango/webhook/route.ts:226"}, "properties": {"repobilityId": "829fe4cecd307598", "scanner": "scanner-primary", "fingerprint": "55ee3defd710ab30", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cbf34e8752f9a8f4", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/id/src/app/api/marcus/brief/route.ts:139"}, "properties": {"repobilityId": "b88366289131d57a", "scanner": "scanner-primary", "fingerprint": "cbf34e8752f9a8f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f69192a90049249", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/cortex/authority/[id]/pause/route.ts:33"}, "properties": {"repobilityId": "871b5b960a484713", "scanner": "scanner-primary", "fingerprint": "6f69192a90049249", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5215a9a1360b4ab6", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/internal/operators/authority-agent/invoke/route.ts:89"}, "properties": {"repobilityId": "4106b1dfbb9fb866", "scanner": "scanner-primary", "fingerprint": "5215a9a1360b4ab6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c78b5687104ff51", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/internal/workflows/archivist-maintenance/run/route.ts:109"}, "properties": {"repobilityId": "4a7c369abae70ee7", "scanner": "scanner-primary", "fingerprint": "3c78b5687104ff51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-640447a26c27bbda", "level": "note", "message": {"text": "Legacy-named symbol `sub_old` in apps/id/src/app/api/billing/webhook/route.test.ts:237"}, "properties": {"repobilityId": "40152e6b893984e6", "scanner": "scanner-primary", "fingerprint": "640447a26c27bbda", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5f162bc05772cee2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/app/api/approvals/action/route.test.ts:36"}, "properties": {"repobilityId": "dc6939afa0ca6429", "scanner": "scanner-primary", "fingerprint": "5f162bc05772cee2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8c2cf187d094fa03", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/onboarding/authority-defaults/route.ts:278"}, "properties": {"repobilityId": "252787ea30b9be89", "scanner": "scanner-primary", "fingerprint": "8c2cf187d094fa03", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9dec748fabf0e617", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/connections/route.ts:96"}, "properties": {"repobilityId": "a8f535bcd9c8433e", "scanner": "scanner-primary", "fingerprint": "9dec748fabf0e617", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8df6bd0fa71244a2", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/id/src/app/api/connections/[id]/route.ts:43"}, "properties": {"repobilityId": "d22f867bf5127a25", "scanner": "scanner-primary", "fingerprint": "8df6bd0fa71244a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-37263bafc7694c62", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/app/api/connections/system/[provider]/callback/route.ts:194"}, "properties": {"repobilityId": "b47785acc67ca147", "scanner": "scanner-primary", "fingerprint": "37263bafc7694c62", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2cf36e0969c79fa3", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/id/src/lib/state-machines-init.ts:94"}, "properties": {"repobilityId": "62ddfec416bea115", "scanner": "scanner-primary", "fingerprint": "2cf36e0969c79fa3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-763b3fb6df5fe21c", "level": "note", "message": {"text": "Legacy-named symbol `engagement_v2` in apps/id/src/lib/integrations/nango/__tests__/tiktok-handler.test.ts:106"}, "properties": {"repobilityId": "c3636c30aa301787", "scanner": "scanner-primary", "fingerprint": "763b3fb6df5fe21c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-321b5715031b585d", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/integrations/nango/__tests__/tiktok-handler.test.ts:92"}, "properties": {"repobilityId": "5d9aacd5e418d024", "scanner": "scanner-primary", "fingerprint": "321b5715031b585d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a2fc0f44787cf32", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/id/src/lib/integrations/nango/handlers/auth.ts:201"}, "properties": {"repobilityId": "3b284c40b7d82d1f", "scanner": "scanner-primary", "fingerprint": "8a2fc0f44787cf32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c14b48b641c3c05d", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/integrations/nango/handlers/_social-post-shared.ts:94"}, "properties": {"repobilityId": "f2c0ba372e00a314", "scanner": "scanner-primary", "fingerprint": "c14b48b641c3c05d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e31483530fa4555", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/integrations/nango/handlers/google-search-console.ts:126"}, "properties": {"repobilityId": "ade8b9870f3725a6", "scanner": "scanner-primary", "fingerprint": "9e31483530fa4555", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1752518e11aca2d", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/id/src/lib/integrations/nango/handlers/tiktok.ts:108"}, "properties": {"repobilityId": "01573138991b7201", "scanner": "scanner-primary", "fingerprint": "e1752518e11aca2d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3dd6a54cc595285c", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/action-classes/seeds/kinetiks-id.ts:91"}, "properties": {"repobilityId": "1326c732d95abe61", "scanner": "scanner-primary", "fingerprint": "3dd6a54cc595285c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-58b9d6fb2f953dd1", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/email/mime.ts:78"}, "properties": {"repobilityId": "287e66de529e3bab", "scanner": "scanner-primary", "fingerprint": "58b9d6fb2f953dd1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a6556af540d9adc", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/email/sender.ts:394"}, "properties": {"repobilityId": "563d2062f527105f", "scanner": "scanner-primary", "fingerprint": "1a6556af540d9adc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40b04ee71891b9d5", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/email/__tests__/mime.test.ts:85"}, "properties": {"repobilityId": "c0dfe6a1466ebdf7", "scanner": "scanner-primary", "fingerprint": "40b04ee71891b9d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9dcb9bb616fa5d3f", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/ai/task-registry.ts:144"}, "properties": {"repobilityId": "0ccd84b2f5c6e210", "scanner": "scanner-primary", "fingerprint": "9dcb9bb616fa5d3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba59a622da886e87", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/marcus/pre-analysis.ts:192"}, "properties": {"repobilityId": "6eb06934e2758785", "scanner": "scanner-primary", "fingerprint": "ba59a622da886e87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-438eddc1ae8a3f5a", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/id/src/lib/marcus/engine.ts:314"}, "properties": {"repobilityId": "0cb58137b9b5fa3c", "scanner": "scanner-primary", "fingerprint": "438eddc1ae8a3f5a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-517f91109423fb59", "level": "note", "message": {"text": "Legacy-named symbol `write_ad_copy` in apps/id/src/lib/marcus/context-assembly.ts:283"}, "properties": {"repobilityId": "89e5f5a2c50fb2e4", "scanner": "scanner-primary", "fingerprint": "517f91109423fb59", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3a05b7f2668a59b7", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/marcus/__tests__/evidence-brief-snapshot.test.ts:10"}, "properties": {"repobilityId": "6514cba0279806f5", "scanner": "scanner-primary", "fingerprint": "3a05b7f2668a59b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dcfd273c272d4347", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/operators/executors/archivist.ts:47"}, "properties": {"repobilityId": "43d2e1efd133c23d", "scanner": "scanner-primary", "fingerprint": "dcfd273c272d4347", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31fdcadf7dde2ac0", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/id/src/lib/operators/executors/authority-agent/evidence.ts:118"}, "properties": {"repobilityId": "fa0de413dae490d3", "scanner": "scanner-primary", "fingerprint": "31fdcadf7dde2ac0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3bce7ba398eba282", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/operators/executors/authority-agent/validate.ts:155"}, "properties": {"repobilityId": "97ace24a51b8ea7a", "scanner": "scanner-primary", "fingerprint": "3bce7ba398eba282", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a054f2c7eb54c880", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/cortex/submit-context-edit.ts:135"}, "properties": {"repobilityId": "3e0709fdc8772edd", "scanner": "scanner-primary", "fingerprint": "a054f2c7eb54c880", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-884cb36636b999dc", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/cortex/authority/usage-summary-rollup.ts:70"}, "properties": {"repobilityId": "e442732211a8043c", "scanner": "scanner-primary", "fingerprint": "884cb36636b999dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb0cec536d4fbaf3", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/id/src/lib/cortex/authority/lifecycle.ts:325"}, "properties": {"repobilityId": "1f6576b66d808725", "scanner": "scanner-primary", "fingerprint": "fb0cec536d4fbaf3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e241a6f5d81073c2", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/cortex/authority/resolve.ts:55"}, "properties": {"repobilityId": "bd6f1e3d6bb21f9d", "scanner": "scanner-primary", "fingerprint": "e241a6f5d81073c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc85516f6b370361", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/cortex/authority/__tests__/lifecycle.test.ts:99"}, "properties": {"repobilityId": "a8bcfce66cb43da0", "scanner": "scanner-primary", "fingerprint": "bc85516f6b370361", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d76f8f21acf8b75a", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/id/src/lib/cortex/patterns/list.ts:92"}, "properties": {"repobilityId": "5d7739daba249b3b", "scanner": "scanner-primary", "fingerprint": "d76f8f21acf8b75a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3bd18d6ff2ecffb0", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/id/src/lib/oracle/runner.ts:211"}, "properties": {"repobilityId": "b9bbc83750312935", "scanner": "scanner-primary", "fingerprint": "3bd18d6ff2ecffb0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a867ecc5f4f7c81f", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/id/src/lib/oracle/insights/writer.ts:124"}, "properties": {"repobilityId": "153dbd8c5643bc58", "scanner": "scanner-primary", "fingerprint": "a867ecc5f4f7c81f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d74e8fa025307a7", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/oracle/detectors/cross-dimension-drill.ts:79"}, "properties": {"repobilityId": "8e673b955797c6b5", "scanner": "scanner-primary", "fingerprint": "7d74e8fa025307a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86073051c319acd3", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/fixtures/harvest-sequence-step-conversion.ts:18"}, "properties": {"repobilityId": "fb56babd12adc057", "scanner": "scanner-primary", "fingerprint": "86073051c319acd3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a86a7cb25bd894d8", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/fixtures/harvest-outreach-angle-performance.ts:17"}, "properties": {"repobilityId": "713d3e5ed0c11582", "scanner": "scanner-primary", "fingerprint": "a86a7cb25bd894d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab0fcc5cd812368d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/id/src/lib/utils/api-client.ts:33"}, "properties": {"repobilityId": "64c8ec1656e8c8aa", "scanner": "scanner-primary", "fingerprint": "ab0fcc5cd812368d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ad6b5d400081cfa8", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/id/src/lib/cartographer/conversation.ts:314"}, "properties": {"repobilityId": "ae711397010fabb6", "scanner": "scanner-primary", "fingerprint": "ad6b5d400081cfa8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce7a17fffba1d537", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/id/src/lib/billing/stripe.ts:301"}, "properties": {"repobilityId": "70772f1daba283d0", "scanner": "scanner-primary", "fingerprint": "ce7a17fffba1d537", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98328a657feab69a", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/id/src/lib/approvals/authority-grant.ts:200"}, "properties": {"repobilityId": "d7f5b0358f00427c", "scanner": "scanner-primary", "fingerprint": "98328a657feab69a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac03b249bb3b2e14", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/approvals/learning-loop.ts:62"}, "properties": {"repobilityId": "6bfecdee15b49a29", "scanner": "scanner-primary", "fingerprint": "ac03b249bb3b2e14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac05e515c4ebba77", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/id/src/lib/approvals/pipeline.ts:71"}, "properties": {"repobilityId": "8a20a8839aca7611", "scanner": "scanner-primary", "fingerprint": "ac05e515c4ebba77", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7903b02d3949a46d", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/id/src/lib/runtime/runtime-boot.ts:235"}, "properties": {"repobilityId": "3ddb8b5f03f8e02d", "scanner": "scanner-primary", "fingerprint": "7903b02d3949a46d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fcf7a32afefd53d4", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/patterns/declining-history.ts:37"}, "properties": {"repobilityId": "916249d2e0dee891", "scanner": "scanner-primary", "fingerprint": "fcf7a32afefd53d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d91147c20ab3bfaf", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/patterns/deferred-emit.ts:147"}, "properties": {"repobilityId": "39498f29e7af386a", "scanner": "scanner-primary", "fingerprint": "d91147c20ab3bfaf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a26b227a44abe4e4", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/patterns/emit-internal.ts:313"}, "properties": {"repobilityId": "306a9118daea2f55", "scanner": "scanner-primary", "fingerprint": "a26b227a44abe4e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-145e8211641048f3", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/patterns/__tests__/emit-internal.test.ts:17"}, "properties": {"repobilityId": "dd6705f0c3c90352", "scanner": "scanner-primary", "fingerprint": "145e8211641048f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7a581eef7214b01", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/patterns/__tests__/decay-calibration.test.ts:419"}, "properties": {"repobilityId": "51952616def31ca7", "scanner": "scanner-primary", "fingerprint": "f7a581eef7214b01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4885c2b8bc58e11f", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/patterns/__tests__/confidence.test.ts:120"}, "properties": {"repobilityId": "43516815e0dce0f7", "scanner": "scanner-primary", "fingerprint": "4885c2b8bc58e11f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c2e95e89e20cebd", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/workflows/__tests__/archivist-maintenance.test.ts:270"}, "properties": {"repobilityId": "5dee988fccb6e5d2", "scanner": "scanner-primary", "fingerprint": "0c2e95e89e20cebd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5434f5ad695dbb8e", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/tools/query-actions-authority.ts:87"}, "properties": {"repobilityId": "d833455ea12fe9d8", "scanner": "scanner-primary", "fingerprint": "5434f5ad695dbb8e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a41cc50090ff5381", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/tools/draft-email.ts:69"}, "properties": {"repobilityId": "0aac936e6cf1b41a", "scanner": "scanner-primary", "fingerprint": "a41cc50090ff5381", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c18de63358a85f79", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/tools/query-active-authority.ts:105"}, "properties": {"repobilityId": "314059a90010f1f7", "scanner": "scanner-primary", "fingerprint": "c18de63358a85f79", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-552e37a6c9b496a8", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/id/src/lib/tools/send-slack-notification.ts:34"}, "properties": {"repobilityId": "830dcb954df857d3", "scanner": "scanner-primary", "fingerprint": "552e37a6c9b496a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2534d93bfb795011", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/tools/availability.ts:18"}, "properties": {"repobilityId": "fbc1b3c92a68e52e", "scanner": "scanner-primary", "fingerprint": "2534d93bfb795011", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e18c2e83139c5aa3", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/id/src/lib/tools/hubspot-query.ts:9"}, "properties": {"repobilityId": "79630f0c720b3964", "scanner": "scanner-primary", "fingerprint": "e18c2e83139c5aa3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-210ee1a3eb718684", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/id/src/lib/tools/registry-boot.ts:84"}, "properties": {"repobilityId": "26ef0380acce11c4", "scanner": "scanner-primary", "fingerprint": "210ee1a3eb718684", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49df09fb7a63c0c2", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/tools/_helpers/social-read.ts:16"}, "properties": {"repobilityId": "ffb565926b87dbdd", "scanner": "scanner-primary", "fingerprint": "49df09fb7a63c0c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27a986dbc1e9a77a", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/id/src/lib/connections/system-oauth.ts:393"}, "properties": {"repobilityId": "75f5bf839f0d797c", "scanner": "scanner-primary", "fingerprint": "27a986dbc1e9a77a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d03c5afbe424d743", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/id/src/lib/calendar/prep.ts:107"}, "properties": {"repobilityId": "e89dee73d981305f", "scanner": "scanner-primary", "fingerprint": "d03c5afbe424d743", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7980c780603fa07c", "level": "note", "message": {"text": "Legacy-named symbol `cta_copy` in apps/hv/src/types/outreach-goal.ts:36"}, "properties": {"repobilityId": "dccac2447dc35e92", "scanner": "scanner-primary", "fingerprint": "7980c780603fa07c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-faced6604b4cc296", "level": "note", "message": {"text": "Legacy-named symbol `cta_copy` in apps/hv/src/components/settings/OutreachGoalConfig.tsx:157"}, "properties": {"repobilityId": "e8fc690fe9bb4706", "scanner": "scanner-primary", "fingerprint": "faced6604b4cc296", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9129af252c86ea09", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/settings/SuppressionsList.tsx:46"}, "properties": {"repobilityId": "527ef41f2333a926", "scanner": "scanner-primary", "fingerprint": "9129af252c86ea09", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2250ad2df44c955c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/prospects/ProspectsView.tsx:27"}, "properties": {"repobilityId": "411f533e64db5fec", "scanner": "scanner-primary", "fingerprint": "2250ad2df44c955c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d52e0fb52cd7e48a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/composer/ComposeView.tsx:220"}, "properties": {"repobilityId": "042f894728cb35e8", "scanner": "scanner-primary", "fingerprint": "d52e0fb52cd7e48a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-392314122d7eb638", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/onboarding/steps/SenderProfileStep.tsx:70"}, "properties": {"repobilityId": "9b93712d4af2a266", "scanner": "scanner-primary", "fingerprint": "392314122d7eb638", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c8ab6925bcb64d60", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/pipeline/DealDetailPanel.tsx:52"}, "properties": {"repobilityId": "1b82b405d857c299", "scanner": "scanner-primary", "fingerprint": "c8ab6925bcb64d60", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7205b11cb1e324ef", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/components/pipeline/CloseDealModal.tsx:75"}, "properties": {"repobilityId": "28871c3df537c033", "scanner": "scanner-primary", "fingerprint": "7205b11cb1e324ef", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-608633af1712a961", "level": "note", "message": {"text": "Legacy-named symbol `cta_copy` in apps/hv/src/app/api/hv/outreach-goal/route.ts:72"}, "properties": {"repobilityId": "7a3458bf6f0015d3", "scanner": "scanner-primary", "fingerprint": "608633af1712a961", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f3afbb31291b654f", "level": "note", "message": {"text": "Legacy-named symbol `cta_copy` in apps/hv/src/app/api/hv/templates/generate/route.ts:66"}, "properties": {"repobilityId": "c114ea319538cf63", "scanner": "scanner-primary", "fingerprint": "f3afbb31291b654f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2cd695273bb8717c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/app/(dashboard)/field/page.tsx:27"}, "properties": {"repobilityId": "0b2e32cf90f81bb5", "scanner": "scanner-primary", "fingerprint": "2cd695273bb8717c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e054bbef0bd94073", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/lib/scout/pdl.ts:23"}, "properties": {"repobilityId": "5e14e7d967daccad", "scanner": "scanner-primary", "fingerprint": "e054bbef0bd94073", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ffd699236d9fa52c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/lib/scout/hunter.ts:28"}, "properties": {"repobilityId": "673bae74fb364a29", "scanner": "scanner-primary", "fingerprint": "ffd699236d9fa52c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1d44b84197b2b650", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/lib/calls/twilio-client.ts:50"}, "properties": {"repobilityId": "6cff87342a52e3c8", "scanner": "scanner-primary", "fingerprint": "1d44b84197b2b650", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-704d15ebe3c5a5bb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/hv/src/lib/inbox/gmail-sync.ts:198"}, "properties": {"repobilityId": "32dfe896718f6c01", "scanner": "scanner-primary", "fingerprint": "704d15ebe3c5a5bb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0d669078539d4c84", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/types/src/billing.ts:288"}, "properties": {"repobilityId": "bea9ec3e3805568e", "scanner": "scanner-primary", "fingerprint": "0d669078539d4c84", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d871e9fee2b12a2", "level": "note", "message": {"text": "Legacy-named symbol `write_ad_copy` in packages/ai/src/knowledge/registry.ts:26"}, "properties": {"repobilityId": "63ad822529032080", "scanner": "scanner-primary", "fingerprint": "6d871e9fee2b12a2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-70a7fe6331cf2440", "level": "note", "message": {"text": "Legacy-named symbol `write_ad_copy` in packages/ai/src/knowledge/types.ts:58"}, "properties": {"repobilityId": "b87181473707df00", "scanner": "scanner-primary", "fingerprint": "70a7fe6331cf2440", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-462778c869c62bbe", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/cortex/src/route.ts:217"}, "properties": {"repobilityId": "2525791fd6d76846", "scanner": "scanner-primary", "fingerprint": "462778c869c62bbe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0518542e5e83ddbc", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/cortex/src/conflict.ts:125"}, "properties": {"repobilityId": "e9db85a3f9880cc5", "scanner": "scanner-primary", "fingerprint": "0518542e5e83ddbc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68bea64a0dc93ff2", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/lib/src/env.ts:82"}, "properties": {"repobilityId": "67e7b6193a9efa18", "scanner": "scanner-primary", "fingerprint": "68bea64a0dc93ff2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a927f18fd5d470e", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/runtime/src/run.ts:118"}, "properties": {"repobilityId": "bd964b10881c1225", "scanner": "scanner-primary", "fingerprint": "7a927f18fd5d470e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62f3f76faab2e55d", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/runtime/src/authority.ts:669"}, "properties": {"repobilityId": "586120e1e5e0ac0c", "scanner": "scanner-primary", "fingerprint": "62f3f76faab2e55d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd20abef9abc1569", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/runtime/src/__tests__/authority-resolution.test.ts:45"}, "properties": {"repobilityId": "7734accf7b668bac", "scanner": "scanner-primary", "fingerprint": "cd20abef9abc1569", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5ffad63e56075d7", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/supabase/src/types.ts:4891"}, "properties": {"repobilityId": "78b537aa1d99945f", "scanner": "scanner-primary", "fingerprint": "e5ffad63e56075d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2cc30f7bf7b2fb89", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/tools/src/validate.ts:75"}, "properties": {"repobilityId": "05e2f556060af119", "scanner": "scanner-primary", "fingerprint": "2cc30f7bf7b2fb89", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0821756397ab8806", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/synapse/src/create-synapse.ts:166"}, "properties": {"repobilityId": "375b27e2b66979b6", "scanner": "scanner-primary", "fingerprint": "0821756397ab8806", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1df34cb595bd7d59", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/deskof/src/lens/calibration.ts:36"}, "properties": {"repobilityId": "9dd9d7cb66b63114", "scanner": "scanner-primary", "fingerprint": "1df34cb595bd7d59", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1792ae06f769e305", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/deskof/src/lens/checks/llm-checks.ts:113"}, "properties": {"repobilityId": "1788a9782ef190d9", "scanner": "scanner-primary", "fingerprint": "1792ae06f769e305", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a711e4512f1840c", "level": "none", "message": {"text": "Commented-code block (9 lines) in supabase/functions/archivist-cron/index.ts:14"}, "properties": {"repobilityId": "437254ad87685064", "scanner": "scanner-primary", "fingerprint": "1a711e4512f1840c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0300a58f7636b102", "level": "none", "message": {"text": "Commented-code block (8 lines) in supabase/functions/fixture-emitter-cron/index.ts:3"}, "properties": {"repobilityId": "637739fffc2b4678", "scanner": "scanner-primary", "fingerprint": "0300a58f7636b102", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fac9cdffc7a6a827", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/authority-defaults-diff-cron/index.ts:5"}, "properties": {"repobilityId": "a546058793506708", "scanner": "scanner-primary", "fingerprint": "fac9cdffc7a6a827", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cc048f74ca6a9e47", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/expire-cron/index.ts:216"}, "properties": {"repobilityId": "f0c997239ee98086", "scanner": "scanner-primary", "fingerprint": "cc048f74ca6a9e47", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a5c42b965a0f92b6", "level": "none", "message": {"text": "Commented-code block (9 lines) in supabase/functions/meeting-prep/index.ts:8"}, "properties": {"repobilityId": "334902b63b9399cc", "scanner": "scanner-primary", "fingerprint": "a5c42b965a0f92b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-60246810bc46c441", "level": "none", "message": {"text": "Commented-code block (9 lines) in supabase/functions/email-poll/index.ts:7"}, "properties": {"repobilityId": "a1a4104a79688ff3", "scanner": "scanner-primary", "fingerprint": "60246810bc46c441", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-200e447143667f6e", "level": "none", "message": {"text": "Commented-code block (9 lines) in supabase/functions/oracle-analysis-cron/index.ts:6"}, "properties": {"repobilityId": "4aa1aa35489d23e7", "scanner": "scanner-primary", "fingerprint": "200e447143667f6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86534b2f7f7a6714", "level": "none", "message": {"text": "Commented-code block (7 lines) in supabase/functions/model-discovery-cron/index.ts:5"}, "properties": {"repobilityId": "6fde4320e16a41bc", "scanner": "scanner-primary", "fingerprint": "86534b2f7f7a6714", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49849276e14c452f", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/ratelimit-cleanup/index.ts:3"}, "properties": {"repobilityId": "aca9f2e9353d2d3e", "scanner": "scanner-primary", "fingerprint": "49849276e14c452f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9836457f7ec50c4", "level": "note", "message": {"text": "23 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "71ec3608d30f8bcd", "scanner": "scanner-primary", "fingerprint": "a9836457f7ec50c4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}]}]}