{"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-911a237dfd28cde5", "name": "TODO/FIXME marker in shipping code \u2014 supabase/functions/send-appointment-reminders/index.test.ts:9", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 supabase/functions/send-appointment-reminders/index.test.ts:9"}, "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-43fceff88c40ff97", "name": "TODO/FIXME marker in shipping code \u2014 src/lib/observability/sentry.ts:1", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/lib/observability/sentry.ts:1"}, "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-1afac822945b3ebb", "name": "Insecure pattern 'direct_innerhtml_assignment' in client-portal.html:213", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in client-portal.html:213"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2b9b46e9d47fd6f4", "name": "Insecure pattern 'direct_innerhtml_assignment' in session-builder.html:344", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in session-builder.html:344"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2954865e4b3629ed", "name": "Insecure pattern 'node_child_process' in scripts/gen-types.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/gen-types.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ac35f52dce3f4dcb", "name": "Possible secret in scripts/verify-auth-config.mjs", "shortDescription": {"text": "Possible secret in scripts/verify-auth-config.mjs"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-3fc3acdbd3a3f991", "name": "Possible secret in src/app/welcome/actions.ts", "shortDescription": {"text": "Possible secret in src/app/welcome/actions.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5a5e30bf0774f5dd", "name": "Very large file: src/types/database.ts (3987 lines)", "shortDescription": {"text": "Very large file: src/types/database.ts (3987 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-909bd3094de56b94", "name": "Very large file: src/app/(staff)/schedule/_components/WeekView.tsx (2639 lines)", "shortDescription": {"text": "Very large file: src/app/(staff)/schedule/_components/WeekView.tsx (2639 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-0ead58c3e873065f", "name": "Very large file: src/app/(staff)/clients/[id]/_components/NotesTab.tsx (2548 lines)", "shortDescription": {"text": "Very large file: src/app/(staff)/clients/[id]/_components/NotesTab.tsx (2548 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-683ffa46380b2f4c", "name": "Very large file: src/app/(staff)/clients/[id]/program/days/[dayId]/_components/SessionBuilder.tsx (2664 lines)", "shortDescription": {"text": "Very large file: src/app/(staff)/clients/[id]/program/days/[dayId]/_components/SessionBuilder.tsx (2664 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-8e5b231f4c7b9022", "name": "Very large file: src/app/(staff)/clients/[id]/program/_components/MonthCalendar.tsx (2543 lines)", "shortDescription": {"text": "Very large file: src/app/(staff)/clients/[id]/program/_components/MonthCalendar.tsx (2543 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": "28 tests / 245 src (ratio 0.11)."}, "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-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 107 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 117 placeholder/mock markers across 30 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci. 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, ci. 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-3360e2f52fcd618e", "name": "Commented-code block (7 lines) in scripts/verify-auth-config.mjs:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/verify-auth-config.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5f34e3169d5a41cc", "name": "Commented-code block (15 lines) in scripts/proxy-poison-cookie-verify.mjs:1", "shortDescription": {"text": "Commented-code block (15 lines) in scripts/proxy-poison-cookie-verify.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5868286ea620edca", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/proxy-poison-cookie-verify.mjs:77", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/proxy-poison-cookie-verify.mjs:77"}, "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-b203839fa3ac1cfd", "name": "Commented-code block (9 lines) in scripts/c14-prefetch-probe.mjs:1", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/c14-prefetch-probe.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a32e34b1f47da38d", "name": "Commented-code block (8 lines) in scripts/c11-burn-verify.mjs:1", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/c11-burn-verify.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-682405c1eb49385d", "name": "Commented-code block (9 lines) in scripts/staff-login-path-verify.mjs:1", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/staff-login-path-verify.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7dc96038251f05c0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/staff-login-path-verify.mjs:74", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/staff-login-path-verify.mjs:74"}, "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-c5236149481e1167", "name": "Commented-code block (8 lines) in scripts/c14-prefetch-test.mjs:1", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/c14-prefetch-test.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ce0d047fa14d700b", "name": "Legacy-named symbol `physical_markers_schema_v1` in scripts/generate-physical-markers-seed.mjs:5", "shortDescription": {"text": "Legacy-named symbol `physical_markers_schema_v1` in scripts/generate-physical-markers-seed.mjs:5"}, "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-936d7f23881cefd4", "name": "Commented-code block (7 lines) in scripts/library-verify-user.mjs:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/library-verify-user.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-76142c809864252a", "name": "Commented-code block (9 lines) in scripts/library-preflight-check.mjs:1", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/library-preflight-check.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-33b8574c15939d58", "name": "Commented-code block (14 lines) in supabase/functions/send-appointment-reminders/index.test.ts:1", "shortDescription": {"text": "Commented-code block (14 lines) in supabase/functions/send-appointment-reminders/index.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-257e964982fd7b29", "name": "Commented-code block (7 lines) in supabase/functions/send-appointment-reminders/index.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in supabase/functions/send-appointment-reminders/index.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-116745c6e5b3baa7", "name": "Commented-code block (6 lines) in public/sw.js:3", "shortDescription": {"text": "Commented-code block (6 lines) in public/sw.js:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-255b61dfc3007d6b", "name": "Legacy-named symbol `p_old` in src/types/database.ts:3362", "shortDescription": {"text": "Legacy-named symbol `p_old` in src/types/database.ts:3362"}, "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-6483f2627385166a", "name": "Commented-code block (5 lines) in src/app/(staff)/settings/actions.ts:156", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/settings/actions.ts:156"}, "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-425dc54b5fa154cf", "name": "Commented-code block (5 lines) in src/app/(staff)/settings/section-titles/_components/SectionTitlesEditor.tsx:108", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/settings/section-titles/_components/SectionTitlesEditor.tsx: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-47aef42020692e5b", "name": "Commented-code block (5 lines) in src/app/(staff)/settings/availability/actions.ts:135", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/settings/availability/actions.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-ec80cd19b3fa60d1", "name": "Commented-code block (5 lines) in src/app/(staff)/settings/session-types/_components/SessionTypesEditor.tsx:98", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/settings/session-types/_components/SessionTypesEditor.tsx:98"}, "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-8013c6a9ba037fa3", "name": "Commented-code block (5 lines) in src/app/(staff)/schedule/_components/WeekView.tsx:92", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/schedule/_components/WeekView.tsx: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-8a9150c9ca83acd2", "name": "Commented-code block (6 lines) in src/app/(staff)/dashboard/page.tsx:58", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/(staff)/dashboard/page.tsx:58"}, "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-b7cf82a0078f95c8", "name": "Commented-code block (5 lines) in src/app/(staff)/messages/page.tsx:17", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/messages/page.tsx:17"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f47af832a4426d0b", "name": "Commented-code block (5 lines) in src/app/(staff)/clients/new/actions.ts:53", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/new/actions.ts:53"}, "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-633f40cdf20512d1", "name": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/notes-actions.ts:136", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/notes-actions.ts:136"}, "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-1c1e424229efd022", "name": "Commented-code block (7 lines) in src/app/(staff)/clients/[id]/page.tsx:164", "shortDescription": {"text": "Commented-code block (7 lines) in src/app/(staff)/clients/[id]/page.tsx:164"}, "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-4f095178bb4349c3", "name": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/publish-actions.ts:87", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/publish-actions.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-ec043d13828a747d", "name": "Commented-code block (9 lines) in src/app/(staff)/clients/[id]/_components/NotesTab.tsx:450", "shortDescription": {"text": "Commented-code block (9 lines) in src/app/(staff)/clients/[id]/_components/NotesTab.tsx:450"}, "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-ebd731c998885b37", "name": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/_components/ClientProfile.tsx:149", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/_components/ClientProfile.tsx:149"}, "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-1216361c60154881", "name": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/_components/ReportsPanel.tsx:112", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/_components/ReportsPanel.tsx:112"}, "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-de17b1f3c1bbba2e", "name": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/_components/reports/helpers.ts:150", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/_components/reports/helpers.ts:150"}, "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-e497a0c79efc6e81", "name": "Commented-code block (6 lines) in src/app/(staff)/clients/[id]/_components/reports/client-charts/MilestoneChart.tsx:179", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/(staff)/clients/[id]/_components/reports/client-charts/MilestoneChart.tsx:179"}, "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-6b51dfe3a39c2b89", "name": "Commented-code block (6 lines) in src/app/(staff)/clients/[id]/program/page.tsx:175", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/(staff)/clients/[id]/program/page.tsx:175"}, "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-77de49ff0f012daf", "name": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/program/new/actions.ts:34", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/program/new/actions.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-54fd4c731b5c859d", "name": "Commented-code block (11 lines) in src/app/(staff)/clients/[id]/program/days/[dayId]/page.tsx:84", "shortDescription": {"text": "Commented-code block (11 lines) in src/app/(staff)/clients/[id]/program/days/[dayId]/page.tsx: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-c5839059b46cc44a", "name": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/program/days/[dayId]/_components/SessionBuilder.tsx:205", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/program/days/[dayId]/_components/SessionBuilder.tsx:205"}, "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-45450256e36920f7", "name": "Commented-code block (7 lines) in src/app/(staff)/clients/[id]/program/_components/MonthCalendar.tsx:86", "shortDescription": {"text": "Commented-code block (7 lines) in src/app/(staff)/clients/[id]/program/_components/MonthCalendar.tsx:86"}, "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-1597960320a9e2a4", "name": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/program/_components/SingleDatePicker.tsx:327", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/program/_components/SingleDatePicker.tsx:327"}, "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-71beafdb50db558d", "name": "Commented-code block (7 lines) in src/app/(staff)/clients/[id]/program/_components/ProgramToolbar.tsx:38", "shortDescription": {"text": "Commented-code block (7 lines) in src/app/(staff)/clients/[id]/program/_components/ProgramToolbar.tsx:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8b455edb6accbacf", "name": "Commented-code block (5 lines) in src/app/auth/reset-password/actions.ts:13", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/auth/reset-password/actions.ts:13"}, "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-bcc2667c2f0eff32", "name": "Commented-code block (9 lines) in src/app/auth/reset-password/page.tsx:19", "shortDescription": {"text": "Commented-code block (9 lines) in src/app/auth/reset-password/page.tsx:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2a5d637c37cc429a", "name": "Commented-code block (8 lines) in src/app/auth/callback/route.ts:31", "shortDescription": {"text": "Commented-code block (8 lines) in src/app/auth/callback/route.ts:31"}, "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-9a4bf8b1f19880fa", "name": "Commented-code block (9 lines) in src/app/auth/set-session/route.ts:30", "shortDescription": {"text": "Commented-code block (9 lines) in src/app/auth/set-session/route.ts:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-19b52dfa3798025e", "name": "Commented-code block (5 lines) in src/app/api/health/route.ts:26", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/api/health/route.ts:26"}, "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-036c1ba42bde7948", "name": "Commented-code block (7 lines) in src/app/forgot-password/actions.ts:23", "shortDescription": {"text": "Commented-code block (7 lines) in src/app/forgot-password/actions.ts:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-197e569041639d8b", "name": "Commented-code block (6 lines) in src/app/onboarding/org/actions.ts:41", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/onboarding/org/actions.ts:41"}, "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-5304a8bfaf4c7772", "name": "Commented-code block (6 lines) in src/app/onboarding/org/page.tsx:24", "shortDescription": {"text": "Commented-code block (6 lines) in src/app/onboarding/org/page.tsx:24"}, "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-76d437723850a7ca", "name": "Commented-code block (9 lines) in src/app/portal/page.tsx:65", "shortDescription": {"text": "Commented-code block (9 lines) in src/app/portal/page.tsx:65"}, "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-f5ea2337e97cee42", "name": "Commented-code block (5 lines) in src/app/portal/_lib/portal-helpers.ts:166", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/portal/_lib/portal-helpers.ts:166"}, "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-c16514b536743465", "name": "Commented-code block (7 lines) in src/app/portal/session/[dayId]/actions.ts:33", "shortDescription": {"text": "Commented-code block (7 lines) in src/app/portal/session/[dayId]/actions.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-62fe5b1415d09acd", "name": "Commented-code block (12 lines) in src/app/portal/session/[dayId]/page.tsx:19", "shortDescription": {"text": "Commented-code block (12 lines) in src/app/portal/session/[dayId]/page.tsx:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f1c0cc33cbae83a9", "name": "Commented-code block (7 lines) in src/app/portal/session/[dayId]/_components/Logger.tsx:192", "shortDescription": {"text": "Commented-code block (7 lines) in src/app/portal/session/[dayId]/_components/Logger.tsx: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-19c6d056fc70d927", "name": "Commented-code block (5 lines) in src/app/portal/_components/BottomNav.tsx:54", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/portal/_components/BottomNav.tsx:54"}, "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-f1d6641b6cebccb6", "name": "Commented-code block (5 lines) in src/app/portal/_components/DayScreen.tsx:67", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/portal/_components/DayScreen.tsx:67"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-efcec87c29bb3472", "name": "Commented-code block (8 lines) in src/app/welcome/actions.ts:72", "shortDescription": {"text": "Commented-code block (8 lines) in src/app/welcome/actions.ts:72"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-19272119007c6318", "name": "Commented-code block (7 lines) in src/app/welcome/install/page.tsx:35", "shortDescription": {"text": "Commented-code block (7 lines) in src/app/welcome/install/page.tsx:35"}, "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-c54e3f85a1603f32", "name": "Commented-code block (6 lines) in src/lib/testing/resolver.ts:110", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/testing/resolver.ts:110"}, "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-695a6b0b9f92994c", "name": "Commented-code block (5 lines) in src/lib/testing/comparison.ts:190", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/testing/comparison.ts:190"}, "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-edf2de1446cd05d4", "name": "Legacy-named symbol `physical_markers_schema_v1` in src/lib/testing/schema-loader.ts:7", "shortDescription": {"text": "Legacy-named symbol `physical_markers_schema_v1` in src/lib/testing/schema-loader.ts:7"}, "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-3014cf832f471b0f", "name": "Commented-code block (5 lines) in src/lib/testing/loaders.ts:73", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/testing/loaders.ts:73"}, "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-6bcb4d193b13effb", "name": "Commented-code block (11 lines) in src/lib/auth/post-auth-landing.ts:23", "shortDescription": {"text": "Commented-code block (11 lines) in src/lib/auth/post-auth-landing.ts:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-62a888cf76eeafab", "name": "Commented-code block (6 lines) in src/lib/clients/invite.ts:15", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/clients/invite.ts:15"}, "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-89470420b2db870c", "name": "Commented-code block (6 lines) in src/lib/supabase/middleware.ts:103", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/supabase/middleware.ts:103"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/19101"}, "properties": {"repository": "Scottyhb19/client-platform", "repoUrl": "https://github.com/Scottyhb19/client-platform", "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-911a237dfd28cde5", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 supabase/functions/send-appointment-reminders/index.test.ts:9"}, "properties": {"repobilityId": "d9f05340a5a45b88", "scanner": "scanner-primary", "fingerprint": "911a237dfd28cde5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-43fceff88c40ff97", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/lib/observability/sentry.ts:1"}, "properties": {"repobilityId": "a896ea65b48b8266", "scanner": "scanner-primary", "fingerprint": "43fceff88c40ff97", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-1afac822945b3ebb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in client-portal.html:213"}, "properties": {"repobilityId": "e17c27eb34d241f9", "scanner": "scanner-primary", "fingerprint": "1afac822945b3ebb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "client-portal.html"}, "region": {"startLine": 213}}}]}, {"ruleId": "scanner-2b9b46e9d47fd6f4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in session-builder.html:344"}, "properties": {"repobilityId": "f9e1249c96bc3a7c", "scanner": "scanner-primary", "fingerprint": "2b9b46e9d47fd6f4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "session-builder.html"}, "region": {"startLine": 344}}}]}, {"ruleId": "scanner-2954865e4b3629ed", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/gen-types.mjs:1"}, "properties": {"repobilityId": "d72105dc3170ccc8", "scanner": "scanner-primary", "fingerprint": "2954865e4b3629ed", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/gen-types.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ac35f52dce3f4dcb", "level": "error", "message": {"text": "Possible secret in scripts/verify-auth-config.mjs"}, "properties": {"repobilityId": "5a54b777e43b03da", "scanner": "scanner-primary", "fingerprint": "ac35f52dce3f4dcb", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/verify-auth-config.mjs"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-3fc3acdbd3a3f991", "level": "error", "message": {"text": "Possible secret in src/app/welcome/actions.ts"}, "properties": {"repobilityId": "3f717b454643bb28", "scanner": "scanner-primary", "fingerprint": "3fc3acdbd3a3f991", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/welcome/actions.ts"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-5a5e30bf0774f5dd", "level": "note", "message": {"text": "Very large file: src/types/database.ts (3987 lines)"}, "properties": {"repobilityId": "a3b95ecee12e4f2c", "scanner": "scanner-primary", "fingerprint": "5a5e30bf0774f5dd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-909bd3094de56b94", "level": "note", "message": {"text": "Very large file: src/app/(staff)/schedule/_components/WeekView.tsx (2639 lines)"}, "properties": {"repobilityId": "eab04a8f89e567ba", "scanner": "scanner-primary", "fingerprint": "909bd3094de56b94", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0ead58c3e873065f", "level": "note", "message": {"text": "Very large file: src/app/(staff)/clients/[id]/_components/NotesTab.tsx (2548 lines)"}, "properties": {"repobilityId": "7f497f3591f6d840", "scanner": "scanner-primary", "fingerprint": "0ead58c3e873065f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-683ffa46380b2f4c", "level": "note", "message": {"text": "Very large file: src/app/(staff)/clients/[id]/program/days/[dayId]/_components/SessionBuilder.tsx (2664 lines)"}, "properties": {"repobilityId": "abc560aa9fb0b75b", "scanner": "scanner-primary", "fingerprint": "683ffa46380b2f4c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8e5b231f4c7b9022", "level": "note", "message": {"text": "Very large file: src/app/(staff)/clients/[id]/program/_components/MonthCalendar.tsx (2543 lines)"}, "properties": {"repobilityId": "9030ffeae6fade7e", "scanner": "scanner-primary", "fingerprint": "8e5b231f4c7b9022", "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": "6a0f65149a152f22", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "6e449c1277aa5ab6", "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": "65bea8f186f3396a", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "36ea135cf1fb0898", "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": "4213be5f9f201626", "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": "c64945dcbc0cfa22", "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": "69b1ccad954c0fbe", "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": "afefb55245db71b7", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-3360e2f52fcd618e", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/verify-auth-config.mjs:1"}, "properties": {"repobilityId": "28678f5c26e5292f", "scanner": "scanner-primary", "fingerprint": "3360e2f52fcd618e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f34e3169d5a41cc", "level": "none", "message": {"text": "Commented-code block (15 lines) in scripts/proxy-poison-cookie-verify.mjs:1"}, "properties": {"repobilityId": "72b7e757fe863bef", "scanner": "scanner-primary", "fingerprint": "5f34e3169d5a41cc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5868286ea620edca", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/proxy-poison-cookie-verify.mjs:77"}, "properties": {"repobilityId": "143fc0efb407baa7", "scanner": "scanner-primary", "fingerprint": "5868286ea620edca", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b203839fa3ac1cfd", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/c14-prefetch-probe.mjs:1"}, "properties": {"repobilityId": "dd1739051e5d5afe", "scanner": "scanner-primary", "fingerprint": "b203839fa3ac1cfd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a32e34b1f47da38d", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/c11-burn-verify.mjs:1"}, "properties": {"repobilityId": "43a97cbbedbfb50a", "scanner": "scanner-primary", "fingerprint": "a32e34b1f47da38d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-682405c1eb49385d", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/staff-login-path-verify.mjs:1"}, "properties": {"repobilityId": "ed22977a7766e542", "scanner": "scanner-primary", "fingerprint": "682405c1eb49385d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7dc96038251f05c0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/staff-login-path-verify.mjs:74"}, "properties": {"repobilityId": "54e1a327dc7d9f37", "scanner": "scanner-primary", "fingerprint": "7dc96038251f05c0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c5236149481e1167", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/c14-prefetch-test.mjs:1"}, "properties": {"repobilityId": "24b81383ed0e1746", "scanner": "scanner-primary", "fingerprint": "c5236149481e1167", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce0d047fa14d700b", "level": "note", "message": {"text": "Legacy-named symbol `physical_markers_schema_v1` in scripts/generate-physical-markers-seed.mjs:5"}, "properties": {"repobilityId": "bbbe0f5d863e68d3", "scanner": "scanner-primary", "fingerprint": "ce0d047fa14d700b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-936d7f23881cefd4", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/library-verify-user.mjs:1"}, "properties": {"repobilityId": "0cb77c75dba014d4", "scanner": "scanner-primary", "fingerprint": "936d7f23881cefd4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76142c809864252a", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/library-preflight-check.mjs:1"}, "properties": {"repobilityId": "fb22256c9d76cc66", "scanner": "scanner-primary", "fingerprint": "76142c809864252a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33b8574c15939d58", "level": "none", "message": {"text": "Commented-code block (14 lines) in supabase/functions/send-appointment-reminders/index.test.ts:1"}, "properties": {"repobilityId": "2d1e8758e10d26eb", "scanner": "scanner-primary", "fingerprint": "33b8574c15939d58", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-257e964982fd7b29", "level": "none", "message": {"text": "Commented-code block (7 lines) in supabase/functions/send-appointment-reminders/index.ts:1"}, "properties": {"repobilityId": "605559af1dac7fd6", "scanner": "scanner-primary", "fingerprint": "257e964982fd7b29", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-116745c6e5b3baa7", "level": "none", "message": {"text": "Commented-code block (6 lines) in public/sw.js:3"}, "properties": {"repobilityId": "79f0b2e18f9dae80", "scanner": "scanner-primary", "fingerprint": "116745c6e5b3baa7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-255b61dfc3007d6b", "level": "note", "message": {"text": "Legacy-named symbol `p_old` in src/types/database.ts:3362"}, "properties": {"repobilityId": "6a713573f4d3c748", "scanner": "scanner-primary", "fingerprint": "255b61dfc3007d6b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6483f2627385166a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/settings/actions.ts:156"}, "properties": {"repobilityId": "5f07749211ea87a7", "scanner": "scanner-primary", "fingerprint": "6483f2627385166a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-425dc54b5fa154cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/settings/section-titles/_components/SectionTitlesEditor.tsx:108"}, "properties": {"repobilityId": "b9076301a9f791d0", "scanner": "scanner-primary", "fingerprint": "425dc54b5fa154cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47aef42020692e5b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/settings/availability/actions.ts:135"}, "properties": {"repobilityId": "4bd68a0ba640fcaf", "scanner": "scanner-primary", "fingerprint": "47aef42020692e5b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec80cd19b3fa60d1", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/settings/session-types/_components/SessionTypesEditor.tsx:98"}, "properties": {"repobilityId": "7705b26e52a8246b", "scanner": "scanner-primary", "fingerprint": "ec80cd19b3fa60d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8013c6a9ba037fa3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/schedule/_components/WeekView.tsx:92"}, "properties": {"repobilityId": "c29b95edb2750c53", "scanner": "scanner-primary", "fingerprint": "8013c6a9ba037fa3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a9150c9ca83acd2", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/(staff)/dashboard/page.tsx:58"}, "properties": {"repobilityId": "e76603b8d6b89094", "scanner": "scanner-primary", "fingerprint": "8a9150c9ca83acd2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b7cf82a0078f95c8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/messages/page.tsx:17"}, "properties": {"repobilityId": "57004d745723ebae", "scanner": "scanner-primary", "fingerprint": "b7cf82a0078f95c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f47af832a4426d0b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/new/actions.ts:53"}, "properties": {"repobilityId": "3f769d4c60b4de21", "scanner": "scanner-primary", "fingerprint": "f47af832a4426d0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-633f40cdf20512d1", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/notes-actions.ts:136"}, "properties": {"repobilityId": "27bb363603e83646", "scanner": "scanner-primary", "fingerprint": "633f40cdf20512d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c1e424229efd022", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/app/(staff)/clients/[id]/page.tsx:164"}, "properties": {"repobilityId": "e245c1625c41b794", "scanner": "scanner-primary", "fingerprint": "1c1e424229efd022", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f095178bb4349c3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/publish-actions.ts:87"}, "properties": {"repobilityId": "775f7d83fe63ba1f", "scanner": "scanner-primary", "fingerprint": "4f095178bb4349c3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec043d13828a747d", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/app/(staff)/clients/[id]/_components/NotesTab.tsx:450"}, "properties": {"repobilityId": "d177c59d5d8c0edd", "scanner": "scanner-primary", "fingerprint": "ec043d13828a747d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ebd731c998885b37", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/_components/ClientProfile.tsx:149"}, "properties": {"repobilityId": "4947a5718f001208", "scanner": "scanner-primary", "fingerprint": "ebd731c998885b37", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1216361c60154881", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/_components/ReportsPanel.tsx:112"}, "properties": {"repobilityId": "e38fcc3b71c7ad47", "scanner": "scanner-primary", "fingerprint": "1216361c60154881", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de17b1f3c1bbba2e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/_components/reports/helpers.ts:150"}, "properties": {"repobilityId": "86e95a16246f72f1", "scanner": "scanner-primary", "fingerprint": "de17b1f3c1bbba2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e497a0c79efc6e81", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/(staff)/clients/[id]/_components/reports/client-charts/MilestoneChart.tsx:179"}, "properties": {"repobilityId": "69eeb38fb17ab404", "scanner": "scanner-primary", "fingerprint": "e497a0c79efc6e81", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b51dfe3a39c2b89", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/(staff)/clients/[id]/program/page.tsx:175"}, "properties": {"repobilityId": "0cdafb098432c953", "scanner": "scanner-primary", "fingerprint": "6b51dfe3a39c2b89", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-77de49ff0f012daf", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/program/new/actions.ts:34"}, "properties": {"repobilityId": "2099423a5eb6b9f7", "scanner": "scanner-primary", "fingerprint": "77de49ff0f012daf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54fd4c731b5c859d", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/app/(staff)/clients/[id]/program/days/[dayId]/page.tsx:84"}, "properties": {"repobilityId": "fadb059e1c1e2ec4", "scanner": "scanner-primary", "fingerprint": "54fd4c731b5c859d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5839059b46cc44a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/program/days/[dayId]/_components/SessionBuilder.tsx:205"}, "properties": {"repobilityId": "ab4e6890235e5259", "scanner": "scanner-primary", "fingerprint": "c5839059b46cc44a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-45450256e36920f7", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/app/(staff)/clients/[id]/program/_components/MonthCalendar.tsx:86"}, "properties": {"repobilityId": "1381465d1c760c5d", "scanner": "scanner-primary", "fingerprint": "45450256e36920f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1597960320a9e2a4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(staff)/clients/[id]/program/_components/SingleDatePicker.tsx:327"}, "properties": {"repobilityId": "0e044db9a5c6a771", "scanner": "scanner-primary", "fingerprint": "1597960320a9e2a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-71beafdb50db558d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/app/(staff)/clients/[id]/program/_components/ProgramToolbar.tsx:38"}, "properties": {"repobilityId": "11d3036a7c731309", "scanner": "scanner-primary", "fingerprint": "71beafdb50db558d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b455edb6accbacf", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/auth/reset-password/actions.ts:13"}, "properties": {"repobilityId": "b41b00c2e06465f4", "scanner": "scanner-primary", "fingerprint": "8b455edb6accbacf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bcc2667c2f0eff32", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/app/auth/reset-password/page.tsx:19"}, "properties": {"repobilityId": "174339f261eae982", "scanner": "scanner-primary", "fingerprint": "bcc2667c2f0eff32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a5d637c37cc429a", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/app/auth/callback/route.ts:31"}, "properties": {"repobilityId": "7819cf673e5d2658", "scanner": "scanner-primary", "fingerprint": "2a5d637c37cc429a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a4bf8b1f19880fa", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/app/auth/set-session/route.ts:30"}, "properties": {"repobilityId": "40e7196d794b13a5", "scanner": "scanner-primary", "fingerprint": "9a4bf8b1f19880fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19b52dfa3798025e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/api/health/route.ts:26"}, "properties": {"repobilityId": "8e47003865089125", "scanner": "scanner-primary", "fingerprint": "19b52dfa3798025e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-036c1ba42bde7948", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/app/forgot-password/actions.ts:23"}, "properties": {"repobilityId": "b9e11eb94ae8fc97", "scanner": "scanner-primary", "fingerprint": "036c1ba42bde7948", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-197e569041639d8b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/onboarding/org/actions.ts:41"}, "properties": {"repobilityId": "2437abb2bdb957d6", "scanner": "scanner-primary", "fingerprint": "197e569041639d8b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5304a8bfaf4c7772", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/app/onboarding/org/page.tsx:24"}, "properties": {"repobilityId": "dd8d478abcd6a170", "scanner": "scanner-primary", "fingerprint": "5304a8bfaf4c7772", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76d437723850a7ca", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/app/portal/page.tsx:65"}, "properties": {"repobilityId": "e7f6dfe218baa6e8", "scanner": "scanner-primary", "fingerprint": "76d437723850a7ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5ea2337e97cee42", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/portal/_lib/portal-helpers.ts:166"}, "properties": {"repobilityId": "27c33a752fd0eb10", "scanner": "scanner-primary", "fingerprint": "f5ea2337e97cee42", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c16514b536743465", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/app/portal/session/[dayId]/actions.ts:33"}, "properties": {"repobilityId": "545fbcdbd7faa82b", "scanner": "scanner-primary", "fingerprint": "c16514b536743465", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62fe5b1415d09acd", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/app/portal/session/[dayId]/page.tsx:19"}, "properties": {"repobilityId": "9450f499daa8131e", "scanner": "scanner-primary", "fingerprint": "62fe5b1415d09acd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1c0cc33cbae83a9", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/app/portal/session/[dayId]/_components/Logger.tsx:192"}, "properties": {"repobilityId": "941fbdd452e45dd2", "scanner": "scanner-primary", "fingerprint": "f1c0cc33cbae83a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19c6d056fc70d927", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/portal/_components/BottomNav.tsx:54"}, "properties": {"repobilityId": "edec0dc25f357b1f", "scanner": "scanner-primary", "fingerprint": "19c6d056fc70d927", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1d6641b6cebccb6", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/portal/_components/DayScreen.tsx:67"}, "properties": {"repobilityId": "6243f8a48bedb7fa", "scanner": "scanner-primary", "fingerprint": "f1d6641b6cebccb6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-efcec87c29bb3472", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/app/welcome/actions.ts:72"}, "properties": {"repobilityId": "a46ebf8981afe443", "scanner": "scanner-primary", "fingerprint": "efcec87c29bb3472", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19272119007c6318", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/app/welcome/install/page.tsx:35"}, "properties": {"repobilityId": "9b1d59f3d89a5499", "scanner": "scanner-primary", "fingerprint": "19272119007c6318", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c54e3f85a1603f32", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/testing/resolver.ts:110"}, "properties": {"repobilityId": "1e62b6de8f0e8a19", "scanner": "scanner-primary", "fingerprint": "c54e3f85a1603f32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-695a6b0b9f92994c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/testing/comparison.ts:190"}, "properties": {"repobilityId": "28c6d6f5fc0754e0", "scanner": "scanner-primary", "fingerprint": "695a6b0b9f92994c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-edf2de1446cd05d4", "level": "note", "message": {"text": "Legacy-named symbol `physical_markers_schema_v1` in src/lib/testing/schema-loader.ts:7"}, "properties": {"repobilityId": "d0b82f2b4f13bae3", "scanner": "scanner-primary", "fingerprint": "edf2de1446cd05d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3014cf832f471b0f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/testing/loaders.ts:73"}, "properties": {"repobilityId": "5542168e3e52f9a5", "scanner": "scanner-primary", "fingerprint": "3014cf832f471b0f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6bcb4d193b13effb", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/lib/auth/post-auth-landing.ts:23"}, "properties": {"repobilityId": "82cca09ddc54efcf", "scanner": "scanner-primary", "fingerprint": "6bcb4d193b13effb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62a888cf76eeafab", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/clients/invite.ts:15"}, "properties": {"repobilityId": "a64a8ec99e5981a9", "scanner": "scanner-primary", "fingerprint": "62a888cf76eeafab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89470420b2db870c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/supabase/middleware.ts:103"}, "properties": {"repobilityId": "4f4663256579b9ab", "scanner": "scanner-primary", "fingerprint": "89470420b2db870c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}