{"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-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8e56e56c92c2d071", "name": "Insecure pattern 'exec_used' in README.md:361", "shortDescription": {"text": "Insecure pattern 'exec_used' in README.md:361"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dc2825c9e3b03b25", "name": "Insecure pattern 'node_child_process' in src/server.ts:20", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/server.ts:20"}, "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-10cb10fc227702f6", "name": "Insecure pattern 'node_child_process' in src/control-center.ts:19", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/control-center.ts:19"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11847893bd05c45c", "name": "Very large file: src/goal-state.ts (1673 lines)", "shortDescription": {"text": "Very large file: src/goal-state.ts (1673 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-b078e49bbb1f6e35", "name": "Very large file: src/server.ts (1224 lines)", "shortDescription": {"text": "Very large file: src/server.ts (1224 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 6 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 20 placeholder/mock markers across 4 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-20342b803ab9f43f", "name": "Commented-code block (7 lines) in test/command-prose-identity.test.mjs:110", "shortDescription": {"text": "Commented-code block (7 lines) in test/command-prose-identity.test.mjs: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-cc27821f78c8b6a7", "name": "Commented-code block (5 lines) in test/tui-ux-fixes.test.mjs:32", "shortDescription": {"text": "Commented-code block (5 lines) in test/tui-ux-fixes.test.mjs:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ddd3c472c825429", "name": "Commented-code block (5 lines) in test/template.test.mjs:566", "shortDescription": {"text": "Commented-code block (5 lines) in test/template.test.mjs:566"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4f8ddd973ef5f64f", "name": "Commented-code block (7 lines) in test/v030-fixes.test.mjs:22", "shortDescription": {"text": "Commented-code block (7 lines) in test/v030-fixes.test.mjs:22"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7059d73eb416955c", "name": "Commented-code block (6 lines) in test/control-center-pane.test.mjs:243", "shortDescription": {"text": "Commented-code block (6 lines) in test/control-center-pane.test.mjs:243"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d1efa38a84c1b021", "name": "Commented-code block (6 lines) in test/goal-state.test.mjs:52", "shortDescription": {"text": "Commented-code block (6 lines) in test/goal-state.test.mjs:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9a1cb21dfab3ea27", "name": "Commented-code block (10 lines) in test/permissions.test.mjs:62", "shortDescription": {"text": "Commented-code block (10 lines) in test/permissions.test.mjs: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-b8975166b6b7ba06", "name": "Legacy-named symbol `iOld` in test/build-session-pane.test.mjs:169", "shortDescription": {"text": "Legacy-named symbol `iOld` in test/build-session-pane.test.mjs:169"}, "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-677be1358500d3ec", "name": "Commented-code block (5 lines) in test/sidebar-logic.test.mjs:162", "shortDescription": {"text": "Commented-code block (5 lines) in test/sidebar-logic.test.mjs:162"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-298cda5fffb52b45", "name": "Commented-code block (6 lines) in test/doctor.test.mjs:194", "shortDescription": {"text": "Commented-code block (6 lines) in test/doctor.test.mjs: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-7ecfb77c76e02e79", "name": "Commented-code block (5 lines) in test/cli.test.mjs:221", "shortDescription": {"text": "Commented-code block (5 lines) in test/cli.test.mjs:221"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-30724093dd54f80e", "name": "Commented-code block (6 lines) in test/goal-chain.test.mjs:211", "shortDescription": {"text": "Commented-code block (6 lines) in test/goal-chain.test.mjs: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-ae2b81bd982c6d75", "name": "Commented-code block (5 lines) in test/docs-drift.test.mjs:72", "shortDescription": {"text": "Commented-code block (5 lines) in test/docs-drift.test.mjs: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-74db0994101c0478", "name": "Commented-code block (8 lines) in test/control-center-logic.test.mjs:231", "shortDescription": {"text": "Commented-code block (8 lines) in test/control-center-logic.test.mjs:231"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b653c3bd7429eba9", "name": "Commented-code block (6 lines) in test/tui-logic.test.mjs:250", "shortDescription": {"text": "Commented-code block (6 lines) in test/tui-logic.test.mjs:250"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5f3342adef8eace", "name": "Commented-code block (9 lines) in test/server-webhook.test.mjs:185", "shortDescription": {"text": "Commented-code block (9 lines) in test/server-webhook.test.mjs:185"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fe49df0261589076", "name": "`fetch()` without try/.catch or AbortSignal \u2014 test/server-webhook.test.mjs:155", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/server-webhook.test.mjs:155"}, "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-9105c298e1b59886", "name": "Commented-code block (5 lines) in test/server-verify.test.mjs:417", "shortDescription": {"text": "Commented-code block (5 lines) in test/server-verify.test.mjs:417"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a691c4679045378c", "name": "Commented-code block (5 lines) in test/probe.test.mjs:54", "shortDescription": {"text": "Commented-code block (5 lines) in test/probe.test.mjs: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-8b1d29c1b2ce6719", "name": "Commented-code block (5 lines) in test/v040-chain-webhook.test.mjs:81", "shortDescription": {"text": "Commented-code block (5 lines) in test/v040-chain-webhook.test.mjs:81"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-db16c7aa56928e99", "name": "Commented-code block (6 lines) in test/cli-e2e.test.mjs:216", "shortDescription": {"text": "Commented-code block (6 lines) in test/cli-e2e.test.mjs: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-cc4a3e404e74cd96", "name": "Commented-code block (10 lines) in test/v040-e2e.test.mjs:153", "shortDescription": {"text": "Commented-code block (10 lines) in test/v040-e2e.test.mjs:153"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3709b62dece03c88", "name": "Commented-code block (6 lines) in test/goal-archive.test.mjs:192", "shortDescription": {"text": "Commented-code block (6 lines) in test/goal-archive.test.mjs: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-aefab4d47404a32f", "name": "Commented-code block (9 lines) in test/control-center.test.mjs:369", "shortDescription": {"text": "Commented-code block (9 lines) in test/control-center.test.mjs:369"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-29967230417b12f4", "name": "Commented-code block (5 lines) in test/dials.test.mjs:677", "shortDescription": {"text": "Commented-code block (5 lines) in test/dials.test.mjs:677"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a1623ef679cd0850", "name": "Commented-code block (9 lines) in scratch/attack-fence.mjs:6", "shortDescription": {"text": "Commented-code block (9 lines) in scratch/attack-fence.mjs: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-f7a7b49741fc3634", "name": "Commented-code block (9 lines) in src/sidebar-logic.ts:297", "shortDescription": {"text": "Commented-code block (9 lines) in src/sidebar-logic.ts:297"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d7efdee554083992", "name": "Commented-code block (5 lines) in src/sidebar.tsx:105", "shortDescription": {"text": "Commented-code block (5 lines) in src/sidebar.tsx: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-5d2f848078f6be90", "name": "Commented-code block (9 lines) in src/goal-chain.ts:292", "shortDescription": {"text": "Commented-code block (9 lines) in src/goal-chain.ts:292"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8080fb6832d3bd25", "name": "Commented-code block (5 lines) in src/control-center-pane.ts:239", "shortDescription": {"text": "Commented-code block (5 lines) in src/control-center-pane.ts:239"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fd41438164c22f11", "name": "Commented-code block (5 lines) in src/cli.ts:342", "shortDescription": {"text": "Commented-code block (5 lines) in src/cli.ts:342"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad56d967ef418e2b", "name": "Commented-code block (5 lines) in src/command.ts:251", "shortDescription": {"text": "Commented-code block (5 lines) in src/command.ts:251"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-75877a57587330ff", "name": "Commented-code block (5 lines) in src/picker.ts:62", "shortDescription": {"text": "Commented-code block (5 lines) in src/picker.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-f1fc5044c6d8e7b6", "name": "Commented-code block (11 lines) in src/gui.ts:66", "shortDescription": {"text": "Commented-code block (11 lines) in src/gui.ts:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2543959c74a5d636", "name": "Commented-code block (5 lines) in src/templates.ts:43", "shortDescription": {"text": "Commented-code block (5 lines) in src/templates.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-54e82710896890eb", "name": "Commented-code block (6 lines) in src/goal-state.ts:92", "shortDescription": {"text": "Commented-code block (6 lines) in src/goal-state.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-c2db0d7e23a197a6", "name": "Commented-code block (7 lines) in src/server.ts:84", "shortDescription": {"text": "Commented-code block (7 lines) in src/server.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-82afe4fbe0820a36", "name": "Commented-code block (5 lines) in src/session-events.ts:194", "shortDescription": {"text": "Commented-code block (5 lines) in src/session-events.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-ecfcf67ae7a82fbd", "name": "Commented-code block (6 lines) in src/tui.tsx:59", "shortDescription": {"text": "Commented-code block (6 lines) in src/tui.tsx:59"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7e85c357fc9d92bc", "name": "Commented-code block (6 lines) in src/control-center-history.ts:128", "shortDescription": {"text": "Commented-code block (6 lines) in src/control-center-history.ts:128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0df57cc56e5509eb", "name": "Commented-code block (5 lines) in src/tui-logic.ts:46", "shortDescription": {"text": "Commented-code block (5 lines) in src/tui-logic.ts:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6b94b7e53d3dc834", "name": "Commented-code block (7 lines) in src/control-center.ts:202", "shortDescription": {"text": "Commented-code block (7 lines) in src/control-center.ts:202"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. 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/22147"}, "properties": {"repository": "VerbalChainsaw/opencode-autogoal", "repoUrl": "https://github.com/VerbalChainsaw/opencode-autogoal", "branch": "main"}, "results": [{"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-8e56e56c92c2d071", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in README.md:361"}, "properties": {"repobilityId": "c031a388c814d575", "scanner": "scanner-primary", "fingerprint": "8e56e56c92c2d071", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "README.md"}, "region": {"startLine": 361}}}]}, {"ruleId": "scanner-dc2825c9e3b03b25", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/server.ts:20"}, "properties": {"repobilityId": "9eb3749a0d54992e", "scanner": "scanner-primary", "fingerprint": "dc2825c9e3b03b25", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/server.ts"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-10cb10fc227702f6", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/control-center.ts:19"}, "properties": {"repobilityId": "151dbf52736ff4eb", "scanner": "scanner-primary", "fingerprint": "10cb10fc227702f6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/control-center.ts"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-11847893bd05c45c", "level": "note", "message": {"text": "Very large file: src/goal-state.ts (1673 lines)"}, "properties": {"repobilityId": "2fad0f4bd1220a46", "scanner": "scanner-primary", "fingerprint": "11847893bd05c45c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b078e49bbb1f6e35", "level": "note", "message": {"text": "Very large file: src/server.ts (1224 lines)"}, "properties": {"repobilityId": "5a658d2965d5fcc6", "scanner": "scanner-primary", "fingerprint": "b078e49bbb1f6e35", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "7a024d20e7a52abf", "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": "831ca8ffde2166b4", "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": "cd2bdd3061a89b8d", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "ec211c0f6c866b80", "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": "c779b5f9f3c988b1", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-20342b803ab9f43f", "level": "none", "message": {"text": "Commented-code block (7 lines) in test/command-prose-identity.test.mjs:110"}, "properties": {"repobilityId": "36d2c85bf5a1bc94", "scanner": "scanner-primary", "fingerprint": "20342b803ab9f43f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cc27821f78c8b6a7", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/tui-ux-fixes.test.mjs:32"}, "properties": {"repobilityId": "18cf0ea1ea21f85e", "scanner": "scanner-primary", "fingerprint": "cc27821f78c8b6a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ddd3c472c825429", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/template.test.mjs:566"}, "properties": {"repobilityId": "52b660f372175b26", "scanner": "scanner-primary", "fingerprint": "0ddd3c472c825429", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f8ddd973ef5f64f", "level": "none", "message": {"text": "Commented-code block (7 lines) in test/v030-fixes.test.mjs:22"}, "properties": {"repobilityId": "4f75e3e354809fed", "scanner": "scanner-primary", "fingerprint": "4f8ddd973ef5f64f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7059d73eb416955c", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/control-center-pane.test.mjs:243"}, "properties": {"repobilityId": "998741977d02a894", "scanner": "scanner-primary", "fingerprint": "7059d73eb416955c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1efa38a84c1b021", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/goal-state.test.mjs:52"}, "properties": {"repobilityId": "ddc674affe2e6bf5", "scanner": "scanner-primary", "fingerprint": "d1efa38a84c1b021", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a1cb21dfab3ea27", "level": "none", "message": {"text": "Commented-code block (10 lines) in test/permissions.test.mjs:62"}, "properties": {"repobilityId": "36db44ff1761895c", "scanner": "scanner-primary", "fingerprint": "9a1cb21dfab3ea27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8975166b6b7ba06", "level": "note", "message": {"text": "Legacy-named symbol `iOld` in test/build-session-pane.test.mjs:169"}, "properties": {"repobilityId": "e6ebf3d2bde1459b", "scanner": "scanner-primary", "fingerprint": "b8975166b6b7ba06", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-677be1358500d3ec", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/sidebar-logic.test.mjs:162"}, "properties": {"repobilityId": "7512c1fb4bec4d01", "scanner": "scanner-primary", "fingerprint": "677be1358500d3ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-298cda5fffb52b45", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/doctor.test.mjs:194"}, "properties": {"repobilityId": "fcd9e209dc0eb2a7", "scanner": "scanner-primary", "fingerprint": "298cda5fffb52b45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ecfb77c76e02e79", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/cli.test.mjs:221"}, "properties": {"repobilityId": "30b9562201c9c566", "scanner": "scanner-primary", "fingerprint": "7ecfb77c76e02e79", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30724093dd54f80e", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/goal-chain.test.mjs:211"}, "properties": {"repobilityId": "51fb9eabe24dd7d4", "scanner": "scanner-primary", "fingerprint": "30724093dd54f80e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae2b81bd982c6d75", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/docs-drift.test.mjs:72"}, "properties": {"repobilityId": "f61db1833b2c804f", "scanner": "scanner-primary", "fingerprint": "ae2b81bd982c6d75", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-74db0994101c0478", "level": "none", "message": {"text": "Commented-code block (8 lines) in test/control-center-logic.test.mjs:231"}, "properties": {"repobilityId": "3fbe37ba41698dca", "scanner": "scanner-primary", "fingerprint": "74db0994101c0478", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b653c3bd7429eba9", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/tui-logic.test.mjs:250"}, "properties": {"repobilityId": "6b10212f5654da31", "scanner": "scanner-primary", "fingerprint": "b653c3bd7429eba9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5f3342adef8eace", "level": "none", "message": {"text": "Commented-code block (9 lines) in test/server-webhook.test.mjs:185"}, "properties": {"repobilityId": "112fbf1703a7789b", "scanner": "scanner-primary", "fingerprint": "b5f3342adef8eace", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe49df0261589076", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/server-webhook.test.mjs:155"}, "properties": {"repobilityId": "24ce032b7e091e78", "scanner": "scanner-primary", "fingerprint": "fe49df0261589076", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9105c298e1b59886", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/server-verify.test.mjs:417"}, "properties": {"repobilityId": "c30c6bb5ed31b517", "scanner": "scanner-primary", "fingerprint": "9105c298e1b59886", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a691c4679045378c", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/probe.test.mjs:54"}, "properties": {"repobilityId": "0b94b76f3e744e00", "scanner": "scanner-primary", "fingerprint": "a691c4679045378c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b1d29c1b2ce6719", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/v040-chain-webhook.test.mjs:81"}, "properties": {"repobilityId": "7dd94b5d345a4888", "scanner": "scanner-primary", "fingerprint": "8b1d29c1b2ce6719", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db16c7aa56928e99", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/cli-e2e.test.mjs:216"}, "properties": {"repobilityId": "c37e57cadb4d6a63", "scanner": "scanner-primary", "fingerprint": "db16c7aa56928e99", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cc4a3e404e74cd96", "level": "none", "message": {"text": "Commented-code block (10 lines) in test/v040-e2e.test.mjs:153"}, "properties": {"repobilityId": "c5e13914f96f94f0", "scanner": "scanner-primary", "fingerprint": "cc4a3e404e74cd96", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3709b62dece03c88", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/goal-archive.test.mjs:192"}, "properties": {"repobilityId": "076be89366e36928", "scanner": "scanner-primary", "fingerprint": "3709b62dece03c88", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aefab4d47404a32f", "level": "none", "message": {"text": "Commented-code block (9 lines) in test/control-center.test.mjs:369"}, "properties": {"repobilityId": "8be926508b1116af", "scanner": "scanner-primary", "fingerprint": "aefab4d47404a32f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29967230417b12f4", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/dials.test.mjs:677"}, "properties": {"repobilityId": "dabbe892eb18e749", "scanner": "scanner-primary", "fingerprint": "29967230417b12f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a1623ef679cd0850", "level": "none", "message": {"text": "Commented-code block (9 lines) in scratch/attack-fence.mjs:6"}, "properties": {"repobilityId": "7e0842520840a300", "scanner": "scanner-primary", "fingerprint": "a1623ef679cd0850", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7a7b49741fc3634", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/sidebar-logic.ts:297"}, "properties": {"repobilityId": "fbf9f86df2a3595d", "scanner": "scanner-primary", "fingerprint": "f7a7b49741fc3634", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7efdee554083992", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/sidebar.tsx:105"}, "properties": {"repobilityId": "95dd349de38753f1", "scanner": "scanner-primary", "fingerprint": "d7efdee554083992", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d2f848078f6be90", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/goal-chain.ts:292"}, "properties": {"repobilityId": "a33b82cc4a95ebff", "scanner": "scanner-primary", "fingerprint": "5d2f848078f6be90", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8080fb6832d3bd25", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/control-center-pane.ts:239"}, "properties": {"repobilityId": "e498dbd589c67862", "scanner": "scanner-primary", "fingerprint": "8080fb6832d3bd25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd41438164c22f11", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cli.ts:342"}, "properties": {"repobilityId": "1c9b06fb6595bf77", "scanner": "scanner-primary", "fingerprint": "fd41438164c22f11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad56d967ef418e2b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/command.ts:251"}, "properties": {"repobilityId": "6c145bfd56169a59", "scanner": "scanner-primary", "fingerprint": "ad56d967ef418e2b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75877a57587330ff", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/picker.ts:62"}, "properties": {"repobilityId": "473599f02411b27b", "scanner": "scanner-primary", "fingerprint": "75877a57587330ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1fc5044c6d8e7b6", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/gui.ts:66"}, "properties": {"repobilityId": "bf9eb959f38014d7", "scanner": "scanner-primary", "fingerprint": "f1fc5044c6d8e7b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2543959c74a5d636", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/templates.ts:43"}, "properties": {"repobilityId": "151b67074e0ef230", "scanner": "scanner-primary", "fingerprint": "2543959c74a5d636", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54e82710896890eb", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/goal-state.ts:92"}, "properties": {"repobilityId": "0a8a0c11c933a7f4", "scanner": "scanner-primary", "fingerprint": "54e82710896890eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c2db0d7e23a197a6", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/server.ts:84"}, "properties": {"repobilityId": "0525489e885d43f3", "scanner": "scanner-primary", "fingerprint": "c2db0d7e23a197a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82afe4fbe0820a36", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/session-events.ts:194"}, "properties": {"repobilityId": "6c875da7db536c09", "scanner": "scanner-primary", "fingerprint": "82afe4fbe0820a36", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ecfcf67ae7a82fbd", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/tui.tsx:59"}, "properties": {"repobilityId": "f3ef4ef3032f8e13", "scanner": "scanner-primary", "fingerprint": "ecfcf67ae7a82fbd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e85c357fc9d92bc", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/control-center-history.ts:128"}, "properties": {"repobilityId": "a1364d2251c79d62", "scanner": "scanner-primary", "fingerprint": "7e85c357fc9d92bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0df57cc56e5509eb", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/tui-logic.ts:46"}, "properties": {"repobilityId": "ec3cbe206424dbf6", "scanner": "scanner-primary", "fingerprint": "0df57cc56e5509eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b94b7e53d3dc834", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/control-center.ts:202"}, "properties": {"repobilityId": "ecc402f4ee5c12a0", "scanner": "scanner-primary", "fingerprint": "6b94b7e53d3dc834", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}