{"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-f04b3d76894e6354", "name": "Possibly dead Python function: merge_taxonomy_node", "shortDescription": {"text": "Possibly dead Python function: merge_taxonomy_node"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9a10d1f5fe50532a", "name": "Possibly dead Python function: merge_sub_entity_of", "shortDescription": {"text": "Possibly dead Python function: merge_sub_entity_of"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd24ea4f3294b56a", "name": "Possibly dead Python function: merge_sub_technique_of", "shortDescription": {"text": "Possibly dead Python function: merge_sub_technique_of"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ce8ad793e9783e99", "name": "Possibly dead Python function: merge_object_property_relationship", "shortDescription": {"text": "Possibly dead Python function: merge_object_property_relationship"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9194e3f8e45a71fd", "name": "Possibly dead Python function: merge_attack_id", "shortDescription": {"text": "Possibly dead Python function: merge_attack_id"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4fe847c97e2cda6a", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-noauth-schema.js:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-noauth-schema.js:71"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9671ccbb7153ebd0", "name": "Stray `console.log` in TS/JS \u2014 scripts/package-module.js:54", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/package-module.js:54"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-51142e091646a8e9", "name": "Stray `console.log` in TS/JS \u2014 scripts/module-manager/index.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/module-manager/index.ts:45"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01fd25b5d6e0c945", "name": "Stray `console.log` in TS/JS \u2014 scripts/module-manager/database.ts:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/module-manager/database.ts:62"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1f2e35fc9e2b110e", "name": "Stray `console.log` in TS/JS \u2014 scripts/module-manager/installer.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/module-manager/installer.ts:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9ba5008567cd48d", "name": "Stray `console.log` in TS/JS \u2014 modules/dethernety-threat-report/frontend/index.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 modules/dethernety-threat-report/frontend/index.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d26ce8703a6fce45", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ws/src/scripts/migrate-class-identity.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ws/src/scripts/migrate-class-identity.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e915a6cbc35f0b64", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/main.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/main.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-966e37479a5197c3", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/plugins/apolloClient.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/plugins/apolloClient.ts:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c264700e64e8370a", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/stores/flowStore.ts:141", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/stores/flowStore.ts:141"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-108897d0b9cb804c", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/stores/authStore.ts:190", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/stores/authStore.ts:190"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5d2d3a179944fae1", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/stores/modelsStore.ts:212", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/stores/modelsStore.ts:212"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-077caa3cc41b8e74", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/composables/useModuleManager.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/composables/useModuleManager.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b0015edc5062e4f", "name": "React Flow <Controls> without dark theming \u2014 apps/dt-ui/src/components/DataFlow/DataFlow.vue:667", "shortDescription": {"text": "React Flow <Controls> without dark theming \u2014 apps/dt-ui/src/components/DataFlow/DataFlow.vue:667"}, "fullDescription": {"text": "`<Controls>` ships with white buttons. Override `.react-flow__controls` and `.react-flow__controls-button` in your stylesheet or pass a styled wrapper.\n\nWhy: P1 in CHECKLIST.md \u2014 vendor defaults bleed light through.\nRule id: fq.controls.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d60c4df4662eaab6", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/components/DataFlow/CustomCategorizationRenderer.vue:133", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/components/DataFlow/CustomCategorizationRenderer.vue:133"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42dfe99137b2729f", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/components/Dialogs/Model/ModelDialog.vue:147", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/components/Dialogs/Model/ModelDialog.vue:147"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a3409e929cee29b", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/pages/login.vue:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/pages/login.vue:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7ec8f12518014ce", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/router/index.ts:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/router/index.ts:70"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-779ef257784eb908", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/services/ModuleLoader.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/services/ModuleLoader.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-312790468387224e", "name": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/services/ComponentRegistry.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/services/ComponentRegistry.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b73a600c53831c7d", "name": "Stray `console.log` in TS/JS \u2014 apps/dethereal/scripts/help-context.js:137", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/dethereal/scripts/help-context.js:137"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cad6b809eb58ca50", "name": "Insecure pattern 'node_child_process' in scripts/package-module.js:30", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/package-module.js:30"}, "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-232d5fda46bba024", "name": "Insecure pattern 'node_child_process' in scripts/module-manager/export.ts:14", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/module-manager/export.ts:14"}, "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-f5d6c0dfa91a0898", "name": "Insecure pattern 'node_child_process' in scripts/module-manager/extractor.ts:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/module-manager/extractor.ts:5"}, "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-ab10d201057e2391", "name": "Insecure pattern 'node_child_process' in apps/dt-ws/src/__tests__/package-module-embeddings.spec.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/dt-ws/src/__tests__/package-module-embeddings.spec.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cc7bc261f3db3890", "name": "Insecure pattern 'local_storage_auth_token' in apps/dt-ui/src/stores/authStore.ts:449", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in apps/dt-ui/src/stores/authStore.ts:449"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1c14f0bd3b8181f7", "name": "Insecure pattern 'node_child_process' in apps/dethereal/scripts/detect-drift.js:11", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/dethereal/scripts/detect-drift.js:11"}, "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-74c1a176a47fdde1", "name": "Insecure pattern 'node_child_process' in apps/dethereal/src/utils/__tests__/threat-model-resume.test.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/dethereal/src/utils/__tests__/threat-model-resume.test.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-587968cc356ce234", "name": "Insecure pattern 'node_child_process' in apps/dethereal/src/utils/__tests__/detect-drift.test.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/dethereal/src/utils/__tests__/detect-drift.test.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ef638d8d421d5677", "name": "Insecure pattern 'node_child_process' in apps/dethereal/src/__tests__/integration/control-library-demo2.test.ts:46", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/dethereal/src/__tests__/integration/control-library-demo2.test.ts:46"}, "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-7f0f9976570faa6d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46c644c6227e4d4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1838a141491ce38c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-65aa740cba4a4a73", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ecdc3efdd4aa236", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "contributor-assistant/github-action@v2.6.1 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2fdcc3aac10df7e9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-27924aa79fa4a517", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4594175bfb039055", "name": "Very large file: packages/dt-core/src/dt-control-library/dt-control-library.ts (1382 lines)", "shortDescription": {"text": "Very large file: packages/dt-core/src/dt-control-library/dt-control-library.ts (1382 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-ab20103499dc14a4", "name": "Very large file: packages/dt-core/src/dt-control-library/__tests__/dt-control-library.test.ts (1693 lines)", "shortDescription": {"text": "Very large file: packages/dt-core/src/dt-control-library/__tests__/dt-control-library.test.ts (1693 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-f8f7aba741745688", "name": "Very large file: apps/dt-ws/src/gql/module-management-services/module-management.service.ts (1511 lines)", "shortDescription": {"text": "Very large file: apps/dt-ws/src/gql/module-management-services/module-management.service.ts (1511 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-0e858b445aaa003e", "name": "Very large file: apps/dt-ws/src/gql/resolver-services/analysis-resolver.service.ts (1688 lines)", "shortDescription": {"text": "Very large file: apps/dt-ws/src/gql/resolver-services/analysis-resolver.service.ts (1688 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-a089d77d7504b087", "name": "Very large file: apps/dt-ws/src/gql/resolver-services/set-instantiation-attributes.service.ts (1833 lines)", "shortDescription": {"text": "Very large file: apps/dt-ws/src/gql/resolver-services/set-instantiation-attributes.service.ts (1833 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-9833236956537b46", "name": "Node manifest has dependencies but no lockfile: packages/dt-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/dt-core/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f65e1ca9b00183a", "name": "Node manifest has dependencies but no lockfile: packages/eslint-config/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/eslint-config/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-21876d6ed7f81971", "name": "Node manifest has dependencies but no lockfile: packages/dt-module/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/dt-module/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ca24273c05538e6", "name": "Node manifest has dependencies but no lockfile: modules/dethernety-coverage-tools/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: modules/dethernety-coverage-tools/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f995f6efa94da323", "name": "Node manifest has dependencies but no lockfile: modules/dethernety-threat-report/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: modules/dethernety-threat-report/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d40962d0a728474", "name": "Node manifest has dependencies but no lockfile: modules/dethernety-general/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: modules/dethernety-general/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2865603311537a47", "name": "Node manifest has dependencies but no lockfile: apps/dt-ws/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/dt-ws/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a11dd64becd17589", "name": "Node manifest has dependencies but no lockfile: apps/dt-ui/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/dt-ui/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d87d75d215963a1", "name": "Node manifest has dependencies but no lockfile: apps/dethereal/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/dethereal/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 149 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 17 placeholder/mock markers across 11 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-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 lockfile. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bea357a6497a2d5d", "name": "Agent authority lacks a verifier contract: CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5baa63c0aaa2a46c", "name": "Agent authority lacks a verifier contract: apps/dethereal/.mcp.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: apps/dethereal/.mcp.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-99ae31cdd6c66bc5", "name": "Agent authority lacks a verifier contract: apps/dethereal/skills/login/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: apps/dethereal/skills/login/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-55a4f893a0c2aceb", "name": "Agent authority lacks a verifier contract: apps/dethereal/skills/discover/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: apps/dethereal/skills/discover/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e23d71df53cd74bb", "name": "Agent instruction/config may expose a secret: apps/dethereal/skills/enrich/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: apps/dethereal/skills/enrich/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f3b999d9ca9ac4d8", "name": "Agent authority lacks a verifier contract: apps/dethereal/skills/enrich/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: apps/dethereal/skills/enrich/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-42f72a1d1dffd522", "name": "Agent authority lacks a verifier contract: apps/dethereal/skills/add/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: apps/dethereal/skills/add/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1f0f86fc72f19727", "name": "Agent authority lacks a verifier contract: apps/dethereal/skills/remove/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: apps/dethereal/skills/remove/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9b6e251e320b35bd", "name": "Agent authority lacks a verifier contract: apps/dethereal/skills/help/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: apps/dethereal/skills/help/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-23d30d942cf4817c", "name": "Commented-code block (5 lines) in packages/dt-core/src/dt-class-identity/__tests__/dt-class-identity.test.ts:128", "shortDescription": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-class-identity/__tests__/dt-class-identity.test.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-a6ceca9ac821fe75", "name": "Commented-code block (6 lines) in packages/dt-core/src/dt-model/dt-model.ts:394", "shortDescription": {"text": "Commented-code block (6 lines) in packages/dt-core/src/dt-model/dt-model.ts:394"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-22a3c7f578c7de25", "name": "Commented-code block (5 lines) in packages/dt-core/src/dt-control/dt-control.ts:413", "shortDescription": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-control/dt-control.ts:413"}, "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-8909c9204145a73f", "name": "Commented-code block (8 lines) in packages/dt-core/src/dt-class/dt-class.ts:349", "shortDescription": {"text": "Commented-code block (8 lines) in packages/dt-core/src/dt-class/dt-class.ts:349"}, "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-b29cc4a1fefb6305", "name": "Commented-code block (12 lines) in packages/dt-core/src/dt-issue/dt-issue.ts:337", "shortDescription": {"text": "Commented-code block (12 lines) in packages/dt-core/src/dt-issue/dt-issue.ts:337"}, "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-1e5ac536ff6c748f", "name": "Commented-code block (8 lines) in packages/dt-core/src/dt-analysis/dt-analysis-gql.ts:80", "shortDescription": {"text": "Commented-code block (8 lines) in packages/dt-core/src/dt-analysis/dt-analysis-gql.ts:80"}, "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-80216688a637b928", "name": "Commented-code block (5 lines) in packages/dt-core/src/dt-component/dt-component.ts:99", "shortDescription": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-component/dt-component.ts:99"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2a89039b08df8dd0", "name": "Commented-code block (6 lines) in packages/dt-core/src/dt-exposure/dt-exposure-gql.ts:162", "shortDescription": {"text": "Commented-code block (6 lines) in packages/dt-core/src/dt-exposure/dt-exposure-gql.ts: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-7ce31509da9ccde5", "name": "Commented-code block (7 lines) in packages/dt-core/src/interfaces/core-types-interface.ts:310", "shortDescription": {"text": "Commented-code block (7 lines) in packages/dt-core/src/interfaces/core-types-interface.ts:310"}, "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-4193663c03c2e9a4", "name": "Commented-code block (5 lines) in packages/dt-core/src/dt-import/dt-import.ts:993", "shortDescription": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-import/dt-import.ts:993"}, "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-ed90e504377e2b30", "name": "Commented-code block (11 lines) in packages/dt-core/src/dt-control-library/audit-log-writer.ts:302", "shortDescription": {"text": "Commented-code block (11 lines) in packages/dt-core/src/dt-control-library/audit-log-writer.ts:302"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8b83d637d591400c", "name": "Commented-code block (5 lines) in packages/dt-core/src/dt-control-library/wal-helper.ts:63", "shortDescription": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-control-library/wal-helper.ts:63"}, "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-e40ac0fd0fca30a3", "name": "Commented-code block (5 lines) in packages/dt-core/src/dt-control-library/validator.ts:50", "shortDescription": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-control-library/validator.ts:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb162610d5b6bb7c", "name": "Commented-code block (8 lines) in packages/dt-core/src/dt-control-library/dt-control-library.ts:612", "shortDescription": {"text": "Commented-code block (8 lines) in packages/dt-core/src/dt-control-library/dt-control-library.ts:612"}, "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-116e34c793c966a0", "name": "Commented-code block (5 lines) in packages/dt-core/src/dt-control-library/__tests__/validator.test.ts:334", "shortDescription": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-control-library/__tests__/validator.test.ts:334"}, "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-4f73d7fabfcdfb20", "name": "Commented-code block (7 lines) in packages/dt-core/src/dt-control-library/__tests__/dt-control-library.test.ts:46", "shortDescription": {"text": "Commented-code block (7 lines) in packages/dt-core/src/dt-control-library/__tests__/dt-control-library.test.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-0e0e0a64bf1af0ac", "name": "Commented-code block (7 lines) in packages/dt-core/src/dt-countermeasure/dt-countermeasure.ts:131", "shortDescription": {"text": "Commented-code block (7 lines) in packages/dt-core/src/dt-countermeasure/dt-countermeasure.ts:131"}, "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-b0e9a88948f4ce11", "name": "Commented-code block (6 lines) in packages/dt-core/src/dt-countermeasure/dt-countermeasure-gql.ts:163", "shortDescription": {"text": "Commented-code block (6 lines) in packages/dt-core/src/dt-countermeasure/dt-countermeasure-gql.ts:163"}, "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-5a384bdfe9919d2f", "name": "Commented-code block (6 lines) in packages/dt-module/src/dt-lg-module.ts:189", "shortDescription": {"text": "Commented-code block (6 lines) in packages/dt-module/src/dt-lg-module.ts:189"}, "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-78e2c5ca0de637a0", "name": "Commented-code block (8 lines) in packages/dt-module/src/dt-lg-analysis-ops.ts:436", "shortDescription": {"text": "Commented-code block (8 lines) in packages/dt-module/src/dt-lg-analysis-ops.ts:436"}, "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-4534d18a81a7f82a", "name": "Commented-code block (7 lines) in modules/dethernety-coverage-tools/src/DethernetyCoverageToolsModule.ts:187", "shortDescription": {"text": "Commented-code block (7 lines) in modules/dethernety-coverage-tools/src/DethernetyCoverageToolsModule.ts:187"}, "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-2cc2347374f1ff6c", "name": "Commented-code block (9 lines) in modules/mitre-frameworks/parsetest.py:121", "shortDescription": {"text": "Commented-code block (9 lines) in modules/mitre-frameworks/parsetest.py:121"}, "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-c7e4523db08fab10", "name": "Commented-code block (10 lines) in modules/mitre-frameworks/ingest.py:27", "shortDescription": {"text": "Commented-code block (10 lines) in modules/mitre-frameworks/ingest.py:27"}, "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-1a239a957b1b11e9", "name": "Commented-code block (5 lines) in modules/mitre-frameworks/scripts/embedding_provider.py:64", "shortDescription": {"text": "Commented-code block (5 lines) in modules/mitre-frameworks/scripts/embedding_provider.py:64"}, "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-1602e0c59064ca4a", "name": "Commented-code block (5 lines) in modules/dethernety-threat-report/vitest.config.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in modules/dethernety-threat-report/vitest.config.mjs: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-f796b5e742b81c75", "name": "Commented-code block (5 lines) in modules/dethernety-threat-report/frontend/composables/useThreatReportState.js:3", "shortDescription": {"text": "Commented-code block (5 lines) in modules/dethernety-threat-report/frontend/composables/useThreatReportState.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-0820721f55cef9c1", "name": "Commented-code block (5 lines) in modules/dethernety-threat-report/frontend/composables/useThreatReportData.js:3", "shortDescription": {"text": "Commented-code block (5 lines) in modules/dethernety-threat-report/frontend/composables/useThreatReportData.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-bdaa8222a6010e9c", "name": "Commented-code block (6 lines) in modules/dethernety-threat-report/frontend/lib/exportReport.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in modules/dethernety-threat-report/frontend/lib/exportReport.js: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-fdd660c518409a82", "name": "Commented-code block (6 lines) in modules/dethernety-threat-report/frontend/lib/aggregateLedger.js:5", "shortDescription": {"text": "Commented-code block (6 lines) in modules/dethernety-threat-report/frontend/lib/aggregateLedger.js:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ee1aa42783e5315", "name": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/coverageMatrix.js:3", "shortDescription": {"text": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/coverageMatrix.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-534a351a3f5f252b", "name": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/completenessFlags.js:3", "shortDescription": {"text": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/completenessFlags.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-31b4a1360ecaeedf", "name": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/reachability.js:3", "shortDescription": {"text": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/reachability.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-7d65aed9335eded1", "name": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/componentProfile.js:3", "shortDescription": {"text": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/componentProfile.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-a651e392d04e141f", "name": "Commented-code block (6 lines) in modules/dethernety-threat-report/frontend/lib/findingActions.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in modules/dethernety-threat-report/frontend/lib/findingActions.js: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-5b81b462b983c517", "name": "Commented-code block (6 lines) in modules/dethernety-threat-report/frontend/lib/postureSummary.js:3", "shortDescription": {"text": "Commented-code block (6 lines) in modules/dethernety-threat-report/frontend/lib/postureSummary.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-3aeafa4f08957f29", "name": "Commented-code block (5 lines) in modules/dethernety-threat-report/frontend/lib/boundaryCrossings.js:3", "shortDescription": {"text": "Commented-code block (5 lines) in modules/dethernety-threat-report/frontend/lib/boundaryCrossings.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-5d32a8df637ed45f", "name": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/exposureDetail.js:3", "shortDescription": {"text": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/exposureDetail.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-03dd0b893de980f3", "name": "Commented-code block (8 lines) in modules/dethernety-threat-report/frontend/graphql/queries.js:18", "shortDescription": {"text": "Commented-code block (8 lines) in modules/dethernety-threat-report/frontend/graphql/queries.js:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e29f6d1b1e9ca63e", "name": "Commented-code block (5 lines) in modules/dethernety-threat-report/frontend/__tests__/exportReport.test.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in modules/dethernety-threat-report/frontend/__tests__/exportReport.test.js: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-a704d7ea30ccae92", "name": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/__tests__/reachability.test.js:17", "shortDescription": {"text": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/__tests__/reachability.test.js: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-6867d1af984ecd00", "name": "Commented-code block (5 lines) in modules/dethernety-threat-report/src/DethernetyThreatReportModule.ts:241", "shortDescription": {"text": "Commented-code block (5 lines) in modules/dethernety-threat-report/src/DethernetyThreatReportModule.ts:241"}, "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-0bb538867b4c79bf", "name": "Commented-code block (6 lines) in apps/dt-ws/src/bootstrap/ensure-constraints.service.ts:40", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ws/src/bootstrap/ensure-constraints.service.ts:40"}, "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-2fc149465fe63416", "name": "Commented-code block (6 lines) in apps/dt-ws/src/bootstrap/ensure-indexes.service.ts:70", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ws/src/bootstrap/ensure-indexes.service.ts:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea69f339abb7f839", "name": "Commented-code block (5 lines) in apps/dt-ws/src/common/guards/jwt-auth.guard.ts:101", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/common/guards/jwt-auth.guard.ts:101"}, "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-e4df796199ef92a7", "name": "Commented-code block (5 lines) in apps/dt-ws/src/gql/module-management-services/class-reconciler.service.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/gql/module-management-services/class-reconciler.service.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ff8b449eaeac321", "name": "Commented-code block (6 lines) in apps/dt-ws/src/gql/module-management-services/module-management.service.ts:331", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ws/src/gql/module-management-services/module-management.service.ts:331"}, "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-8b0e0c3dc71e802e", "name": "Commented-code block (5 lines) in apps/dt-ws/src/gql/module-management-services/module-registry.service.ts:511", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/gql/module-management-services/module-registry.service.ts:511"}, "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-69562ca301fc333d", "name": "Commented-code block (7 lines) in apps/dt-ws/src/gql/module-management-services/__tests__/class-reconciler.spec.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in apps/dt-ws/src/gql/module-management-services/__tests__/class-reconciler.spec.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-85fec46ae70c0e81", "name": "Commented-code block (5 lines) in apps/dt-ws/src/gql/module-management-services/__tests__/identity.spec.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/gql/module-management-services/__tests__/identity.spec.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9de3f5c0ac8e4b27", "name": "Legacy-named symbol `resetModuleLegacy` in apps/dt-ws/src/gql/resolver-services/module-management-resolver.service.ts:20", "shortDescription": {"text": "Legacy-named symbol `resetModuleLegacy` in apps/dt-ws/src/gql/resolver-services/module-management-resolver.service.ts:203"}, "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-faae2992d20beeec", "name": "Commented-code block (5 lines) in apps/dt-ws/src/gql/resolver-services/list-classes-resolver.service.ts:149", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/gql/resolver-services/list-classes-resolver.service.ts: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-233d4a43a36a77f7", "name": "Legacy-named symbol `getModuleTemplateLegacy` in apps/dt-ws/src/gql/resolver-services/template-resolver.service.ts:276", "shortDescription": {"text": "Legacy-named symbol `getModuleTemplateLegacy` in apps/dt-ws/src/gql/resolver-services/template-resolver.service.ts:276"}, "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-03f7b575baf518a0", "name": "Commented-code block (6 lines) in apps/dt-ws/src/gql/resolver-services/match-mitre-techniques-resolver.service.ts:62", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ws/src/gql/resolver-services/match-mitre-techniques-resolver.service.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-aa4312e8ba406796", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dt-ws/src/gql/resolver-services/match-mitre-techniques-resolver.servi", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dt-ws/src/gql/resolver-services/match-mitre-techniques-resolver.service.ts:816"}, "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-4e627b7c836df316", "name": "Commented-code block (11 lines) in apps/dt-ws/src/gql/resolver-services/analysis-resolver.service.ts:995", "shortDescription": {"text": "Commented-code block (11 lines) in apps/dt-ws/src/gql/resolver-services/analysis-resolver.service.ts:995"}, "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-f6b8badf7c37806f", "name": "Commented-code block (5 lines) in apps/dt-ws/src/gql/resolver-services/match-classes-resolver.service.ts:502", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/gql/resolver-services/match-classes-resolver.service.ts:502"}, "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-4e51d15c6cdbf506", "name": "Commented-code block (5 lines) in apps/dt-ws/src/gql/resolver-services/set-instantiation-attributes.service.ts:41", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/gql/resolver-services/set-instantiation-attributes.service.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-49d2e6c68acf02cd", "name": "Commented-code block (7 lines) in apps/dt-ws/src/gql/resolver-services/orphan-sweep-resolver.service.ts:164", "shortDescription": {"text": "Commented-code block (7 lines) in apps/dt-ws/src/gql/resolver-services/orphan-sweep-resolver.service.ts: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-f37e8ab664c574df", "name": "Commented-code block (6 lines) in apps/dt-ws/src/gql/resolver-services/element-binding.service.ts:82", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ws/src/gql/resolver-services/element-binding.service.ts:82"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d96ee7d643f1c9d9", "name": "Commented-code block (7 lines) in apps/dt-ws/src/gql/resolver-services/control-candidates-resolver.service.ts:80", "shortDescription": {"text": "Commented-code block (7 lines) in apps/dt-ws/src/gql/resolver-services/control-candidates-resolver.service.ts:80"}, "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-b29662a411dec054", "name": "Commented-code block (7 lines) in apps/dt-ws/src/gql/resolver-services/class-identity-resolver.service.ts:158", "shortDescription": {"text": "Commented-code block (7 lines) in apps/dt-ws/src/gql/resolver-services/class-identity-resolver.service.ts:158"}, "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-8bb564da5645a098", "name": "Commented-code block (8 lines) in apps/dt-ws/src/gql/resolver-services/disposition-resolver.service.ts:129", "shortDescription": {"text": "Commented-code block (8 lines) in apps/dt-ws/src/gql/resolver-services/disposition-resolver.service.ts:129"}, "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-49ad4fc433db40b9", "name": "Commented-code block (6 lines) in apps/dt-ws/src/gql/services/schema.service.ts:61", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ws/src/gql/services/schema.service.ts:61"}, "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-fb8f06a4cc74f0aa", "name": "Commented-code block (7 lines) in apps/dt-ws/src/gql/services/authorization.service.ts:87", "shortDescription": {"text": "Commented-code block (7 lines) in apps/dt-ws/src/gql/services/authorization.service.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-5b4910d2ee8c9511", "name": "Commented-code block (7 lines) in apps/dt-ws/src/gql/services/__tests__/schema-cypher-shape.spec.ts:44", "shortDescription": {"text": "Commented-code block (7 lines) in apps/dt-ws/src/gql/services/__tests__/schema-cypher-shape.spec.ts:44"}, "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-dccef8f9c096e86d", "name": "Commented-code block (5 lines) in apps/dt-ws/src/__tests__/module-manager-embed-cli.spec.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/__tests__/module-manager-embed-cli.spec.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9c3cc3224597acbc", "name": "Commented-code block (6 lines) in apps/dt-ws/test/langgraph-sdk-jest-stub.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ws/test/langgraph-sdk-jest-stub.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-ae29639563f00bf6", "name": "Commented-code block (10 lines) in apps/dt-ws/test/integration/disposition-companion-canary.e2e-spec.ts:14", "shortDescription": {"text": "Commented-code block (10 lines) in apps/dt-ws/test/integration/disposition-companion-canary.e2e-spec.ts:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-05c544ca1e0fd5ac", "name": "Commented-code block (8 lines) in apps/dt-ws/test/integration/delete-model.e2e-spec.ts:9", "shortDescription": {"text": "Commented-code block (8 lines) in apps/dt-ws/test/integration/delete-model.e2e-spec.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e518a579ca5997a8", "name": "Commented-code block (7 lines) in apps/dt-ws/test/integration/update-exposures-companion.e2e-spec.ts:9", "shortDescription": {"text": "Commented-code block (7 lines) in apps/dt-ws/test/integration/update-exposures-companion.e2e-spec.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55cb67241ca84bdd", "name": "Commented-code block (12 lines) in apps/dt-ws/test/integration/disposition.e2e-spec.ts:8", "shortDescription": {"text": "Commented-code block (12 lines) in apps/dt-ws/test/integration/disposition.e2e-spec.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89911257f15133ed", "name": "Commented-code block (6 lines) in apps/dt-ws/test/integration/create-analysis-idempotent.e2e-spec.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ws/test/integration/create-analysis-idempotent.e2e-spec.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-f155fc62d41f5211", "name": "Commented-code block (7 lines) in apps/dt-ws/test/integration/cypher-mutation-canary.e2e-spec.ts:4", "shortDescription": {"text": "Commented-code block (7 lines) in apps/dt-ws/test/integration/cypher-mutation-canary.e2e-spec.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa0b9e4b0a200bc9", "name": "Commented-code block (5 lines) in apps/dt-ws/test/integration/mitre-verb-edges.e2e-spec.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ws/test/integration/mitre-verb-edges.e2e-spec.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-295c4266c9908b87", "name": "Commented-code block (5 lines) in apps/dt-ws/test/integration/mitre-verb-edges-graphql.e2e-spec.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ws/test/integration/mitre-verb-edges-graphql.e2e-spec.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d70fe7e6d196b44b", "name": "Commented-code block (11 lines) in apps/dt-ws/test/integration/set-attributes-staleness.e2e-spec.ts:9", "shortDescription": {"text": "Commented-code block (11 lines) in apps/dt-ws/test/integration/set-attributes-staleness.e2e-spec.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a05689541f4bfeae", "name": "Commented-code block (5 lines) in apps/dt-ws/test/integration/match-mitre-techniques.e2e-spec.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ws/test/integration/match-mitre-techniques.e2e-spec.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ff4ee958aca9a913", "name": "Commented-code block (13 lines) in apps/dt-ws/test/integration/provenance.e2e-spec.ts:4", "shortDescription": {"text": "Commented-code block (13 lines) in apps/dt-ws/test/integration/provenance.e2e-spec.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad0744db0343cbef", "name": "Commented-code block (5 lines) in apps/dt-ws/test/integration/reconciliation.e2e-spec.ts:362", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ws/test/integration/reconciliation.e2e-spec.ts:362"}, "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-8cb12beec393a05d", "name": "Commented-code block (10 lines) in apps/dt-ws/test/integration/asset-context.e2e-spec.ts:6", "shortDescription": {"text": "Commented-code block (10 lines) in apps/dt-ws/test/integration/asset-context.e2e-spec.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0b6f82fc5ac9edcd", "name": "Commented-code block (7 lines) in apps/dt-ws/test/integration/sweep-orphans.e2e-spec.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in apps/dt-ws/test/integration/sweep-orphans.e2e-spec.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-97edf35932ccdc05", "name": "Commented-code block (8 lines) in apps/dt-ws/test/integration/upsert-query-plan.e2e-spec.ts:6", "shortDescription": {"text": "Commented-code block (8 lines) in apps/dt-ws/test/integration/upsert-query-plan.e2e-spec.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-04b6c67f434effe5", "name": "Commented-code block (7 lines) in apps/dt-ws/test/integration/element-binding.e2e-spec.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in apps/dt-ws/test/integration/element-binding.e2e-spec.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a1677ec2c7d4b37", "name": "Commented-code block (7 lines) in apps/dt-ui/src/main.ts:38", "shortDescription": {"text": "Commented-code block (7 lines) in apps/dt-ui/src/main.ts:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e617702b03072422", "name": "Commented-code block (6 lines) in apps/dt-ui/src/stores/flowStore.ts:22", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ui/src/stores/flowStore.ts: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-7f4b36dec6cfb079", "name": "Commented-code block (5 lines) in apps/dt-ui/src/stores/techniqueSuggestionsStore.ts:170", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ui/src/stores/techniqueSuggestionsStore.ts:170"}, "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-5d5987d355d18d0a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dt-ui/src/stores/authStore.ts:530", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dt-ui/src/stores/authStore.ts:530"}, "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-7548933f4ed6541f", "name": "Commented-code block (6 lines) in apps/dt-ui/src/stores/analysisStore.ts:141", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ui/src/stores/analysisStore.ts:141"}, "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-a767f0ade0d0b59f", "name": "Commented-code block (6 lines) in apps/dt-ui/src/stores/modulesStore.ts:321", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ui/src/stores/modulesStore.ts:321"}, "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-ce48e7a68b482cdf", "name": "Commented-code block (6 lines) in apps/dt-ui/src/composables/useHostContext.ts:14", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ui/src/composables/useHostContext.ts:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b8957cdde7a8fe20", "name": "Commented-code block (5 lines) in apps/dt-ui/src/composables/useFindingDisposition.ts:98", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dt-ui/src/composables/useFindingDisposition.ts: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-6dbfb4dd8e27738b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dt-ui/src/components/DataFlow/ClassPicker/__tests__/ClassPickerInline", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dt-ui/src/components/DataFlow/ClassPicker/__tests__/ClassPickerInline.test.ts:445"}, "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-8ea7c3b85e6a4333", "name": "Commented-code block (6 lines) in apps/dt-ui/src/config/environment-todo.ts:260", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dt-ui/src/config/environment-todo.ts:260"}, "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-b00b9fc618863646", "name": "Commented-code block (6 lines) in apps/dethereal/src/utils/directory-utils.ts:283", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dethereal/src/utils/directory-utils.ts:283"}, "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-c03238184c0621e6", "name": "Commented-code block (7 lines) in apps/dethereal/src/utils/__tests__/threat-model-resume.test.ts:18", "shortDescription": {"text": "Commented-code block (7 lines) in apps/dethereal/src/utils/__tests__/threat-model-resume.test.ts:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f2549363695962ea", "name": "Commented-code block (5 lines) in apps/dethereal/src/utils/__tests__/directory-utils.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dethereal/src/utils/__tests__/directory-utils.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5cccc13eb6b02b54", "name": "Legacy-named symbol `create_backup` in apps/dethereal/src/tools/update-model.tool.ts:44", "shortDescription": {"text": "Legacy-named symbol `create_backup` in apps/dethereal/src/tools/update-model.tool.ts:44"}, "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-8b1a72e0635abf59", "name": "Commented-code block (6 lines) in apps/dethereal/src/tools/manage-controls.tool.ts:95", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dethereal/src/tools/manage-controls.tool.ts:95"}, "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-2afbe8548d1027f8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dethereal/src/tools/manage-controls.tool.ts:120", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dethereal/src/tools/manage-controls.tool.ts:120"}, "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-a4a7b5c9b54502b0", "name": "Legacy-named symbol `create_backup` in apps/dethereal/src/tools/import-model.tool.ts:41", "shortDescription": {"text": "Legacy-named symbol `create_backup` in apps/dethereal/src/tools/import-model.tool.ts:41"}, "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-1a069b0b24b66ed9", "name": "Commented-code block (5 lines) in apps/dethereal/src/tools/export-model.tool.ts:125", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dethereal/src/tools/export-model.tool.ts:125"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-777a2f774b560bad", "name": "Commented-code block (5 lines) in apps/dethereal/src/tools/validate-model.tool.ts:278", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dethereal/src/tools/validate-model.tool.ts:278"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b28fcf27c8884c59", "name": "Legacy-named symbol `create_backup` in apps/dethereal/src/tools/__tests__/update-model.tool.test.ts:143", "shortDescription": {"text": "Legacy-named symbol `create_backup` in apps/dethereal/src/tools/__tests__/update-model.tool.test.ts:143"}, "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-f7904ab2519f8752", "name": "Commented-code block (5 lines) in apps/dethereal/src/tools/__tests__/manage-controls.tool.test.ts:67", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dethereal/src/tools/__tests__/manage-controls.tool.test.ts:67"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ee943b6a3bc8c6a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dethereal/src/auth/oauth-flow.ts:84", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dethereal/src/auth/oauth-flow.ts:84"}, "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-af4d188e06f07b0b", "name": "Commented-code block (6 lines) in apps/dethereal/src/auth/oauth-server.ts:185", "shortDescription": {"text": "Commented-code block (6 lines) in apps/dethereal/src/auth/oauth-server.ts: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-21996a3942cc70da", "name": "Commented-code block (5 lines) in apps/dethereal/src/client/apollo-client.ts:78", "shortDescription": {"text": "Commented-code block (5 lines) in apps/dethereal/src/client/apollo-client.ts:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nmodules/mitre-frameworks/parsetest.py:is_subclass_of, modules/mitre-frameworks/ingest.py:is_subclass_of\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nmodules/mitre-frameworks/scripts/embedding_provider.py:embed, modules/mitre-frameworks/scripts/embedding_provider.py:embed, modules/mitre-frameworks/scripts/embedding_provider.py:embed, modules/mitre-frameworks/scripts/embedding_provider.py:embed\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c236625afb6a8cb", "name": "Unused endpoint: GET /ready", "shortDescription": {"text": "Unused endpoint: GET /ready"}, "fullDescription": {"text": "`apps/dt-ws/src/app.controller.ts` declares `GET /ready` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-376ec8a28e3de290", "name": "Unused endpoint: GET /modules/:moduleName/bundle.js", "shortDescription": {"text": "Unused endpoint: GET /modules/:moduleName/bundle.js"}, "fullDescription": {"text": "`apps/dt-ws/src/modules/module-bundle.controller.ts` declares `GET /modules/:moduleName/bundle.js` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a7da4485ffd5140", "name": "Unused endpoint: GET /*", "shortDescription": {"text": "Unused endpoint: GET /*"}, "fullDescription": {"text": "`apps/dt-ws/src/common/controllers/spa-fallback.controller.ts` declares `GET /*` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d960a9e7def9ad64", "name": "Unused endpoint: GET /graphql/stream", "shortDescription": {"text": "Unused endpoint: GET /graphql/stream"}, "fullDescription": {"text": "`apps/dt-ws/src/gql/sse/graphql-sse.controller.ts` declares `GET /graphql/stream` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d38ac0195365c8c4", "name": "Unused endpoint: POST /graphql/stream", "shortDescription": {"text": "Unused endpoint: POST /graphql/stream"}, "fullDescription": {"text": "`apps/dt-ws/src/gql/sse/graphql-sse.controller.ts` declares `POST /graphql/stream` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/25345"}, "properties": {"repository": "dether-net/dethernety-oss", "repoUrl": "https://github.com/dether-net/dethernety-oss", "branch": "main"}, "results": [{"ruleId": "scanner-f04b3d76894e6354", "level": "note", "message": {"text": "Possibly dead Python function: merge_taxonomy_node"}, "properties": {"repobilityId": "638dfff5e24e0420", "scanner": "scanner-primary", "fingerprint": "f04b3d76894e6354", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "modules/mitre-frameworks/ingest.py:96"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9a10d1f5fe50532a", "level": "note", "message": {"text": "Possibly dead Python function: merge_sub_entity_of"}, "properties": {"repobilityId": "7532738ff276ec9c", "scanner": "scanner-primary", "fingerprint": "9a10d1f5fe50532a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "modules/mitre-frameworks/ingest.py:106"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bd24ea4f3294b56a", "level": "note", "message": {"text": "Possibly dead Python function: merge_sub_technique_of"}, "properties": {"repobilityId": "4238fc50c68357b9", "scanner": "scanner-primary", "fingerprint": "bd24ea4f3294b56a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "modules/mitre-frameworks/ingest.py:113"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ce8ad793e9783e99", "level": "note", "message": {"text": "Possibly dead Python function: merge_object_property_relationship"}, "properties": {"repobilityId": "195c12be4cd76675", "scanner": "scanner-primary", "fingerprint": "ce8ad793e9783e99", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "modules/mitre-frameworks/ingest.py:120"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9194e3f8e45a71fd", "level": "note", "message": {"text": "Possibly dead Python function: merge_attack_id"}, "properties": {"repobilityId": "731d0fcab6190d48", "scanner": "scanner-primary", "fingerprint": "9194e3f8e45a71fd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "modules/mitre-frameworks/ingest.py:134"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4fe847c97e2cda6a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-noauth-schema.js:71"}, "properties": {"repobilityId": "dbd3f1f9125254f4", "scanner": "scanner-primary", "fingerprint": "4fe847c97e2cda6a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9671ccbb7153ebd0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/package-module.js:54"}, "properties": {"repobilityId": "b7091e242388dbc5", "scanner": "scanner-primary", "fingerprint": "9671ccbb7153ebd0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-51142e091646a8e9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/module-manager/index.ts:45"}, "properties": {"repobilityId": "802eafe25e457f4b", "scanner": "scanner-primary", "fingerprint": "51142e091646a8e9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-01fd25b5d6e0c945", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/module-manager/database.ts:62"}, "properties": {"repobilityId": "cef01935ab6cae32", "scanner": "scanner-primary", "fingerprint": "01fd25b5d6e0c945", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1f2e35fc9e2b110e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/module-manager/installer.ts:47"}, "properties": {"repobilityId": "ccbdbdaa2dc0961d", "scanner": "scanner-primary", "fingerprint": "1f2e35fc9e2b110e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b9ba5008567cd48d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 modules/dethernety-threat-report/frontend/index.js:39"}, "properties": {"repobilityId": "6a6a1fdd9c48a42f", "scanner": "scanner-primary", "fingerprint": "b9ba5008567cd48d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d26ce8703a6fce45", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ws/src/scripts/migrate-class-identity.ts:32"}, "properties": {"repobilityId": "079b1e5e07c837db", "scanner": "scanner-primary", "fingerprint": "d26ce8703a6fce45", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e915a6cbc35f0b64", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/main.ts:30"}, "properties": {"repobilityId": "d6180b0c05127abd", "scanner": "scanner-primary", "fingerprint": "e915a6cbc35f0b64", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-966e37479a5197c3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/plugins/apolloClient.ts:21"}, "properties": {"repobilityId": "f649dcdb5417f9dd", "scanner": "scanner-primary", "fingerprint": "966e37479a5197c3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c264700e64e8370a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/stores/flowStore.ts:141"}, "properties": {"repobilityId": "b590cac25b6fa4c3", "scanner": "scanner-primary", "fingerprint": "c264700e64e8370a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-108897d0b9cb804c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/stores/authStore.ts:190"}, "properties": {"repobilityId": "9f9972a37e565ed1", "scanner": "scanner-primary", "fingerprint": "108897d0b9cb804c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5d2d3a179944fae1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/stores/modelsStore.ts:212"}, "properties": {"repobilityId": "8039884635180386", "scanner": "scanner-primary", "fingerprint": "5d2d3a179944fae1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-077caa3cc41b8e74", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/composables/useModuleManager.ts:12"}, "properties": {"repobilityId": "f475606a9eedc3d0", "scanner": "scanner-primary", "fingerprint": "077caa3cc41b8e74", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2b0015edc5062e4f", "level": "note", "message": {"text": "React Flow <Controls> without dark theming \u2014 apps/dt-ui/src/components/DataFlow/DataFlow.vue:667"}, "properties": {"repobilityId": "6080fee463ebf801", "scanner": "scanner-primary", "fingerprint": "2b0015edc5062e4f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.controls.no-bg"]}}, {"ruleId": "scanner-d60c4df4662eaab6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/components/DataFlow/CustomCategorizationRenderer.vue:133"}, "properties": {"repobilityId": "f5b835320282ce4b", "scanner": "scanner-primary", "fingerprint": "d60c4df4662eaab6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-42dfe99137b2729f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/components/Dialogs/Model/ModelDialog.vue:147"}, "properties": {"repobilityId": "cebc09a710ea6144", "scanner": "scanner-primary", "fingerprint": "42dfe99137b2729f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3a3409e929cee29b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/pages/login.vue:14"}, "properties": {"repobilityId": "0ee15b71fd5ce20e", "scanner": "scanner-primary", "fingerprint": "3a3409e929cee29b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f7ec8f12518014ce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/router/index.ts:70"}, "properties": {"repobilityId": "3ac667456702618d", "scanner": "scanner-primary", "fingerprint": "f7ec8f12518014ce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-779ef257784eb908", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/services/ModuleLoader.ts:37"}, "properties": {"repobilityId": "f48282f2333fecf0", "scanner": "scanner-primary", "fingerprint": "779ef257784eb908", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-312790468387224e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dt-ui/src/services/ComponentRegistry.ts:37"}, "properties": {"repobilityId": "96a86a0fd558c6e3", "scanner": "scanner-primary", "fingerprint": "312790468387224e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b73a600c53831c7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/dethereal/scripts/help-context.js:137"}, "properties": {"repobilityId": "569236793a772fbd", "scanner": "scanner-primary", "fingerprint": "b73a600c53831c7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cad6b809eb58ca50", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/package-module.js:30"}, "properties": {"repobilityId": "112e3e78bf538390", "scanner": "scanner-primary", "fingerprint": "cad6b809eb58ca50", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/package-module.js"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-232d5fda46bba024", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/module-manager/export.ts:14"}, "properties": {"repobilityId": "ce8c90e267a5b8a5", "scanner": "scanner-primary", "fingerprint": "232d5fda46bba024", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/module-manager/export.ts"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-f5d6c0dfa91a0898", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/module-manager/extractor.ts:5"}, "properties": {"repobilityId": "64b59c2f268020f3", "scanner": "scanner-primary", "fingerprint": "f5d6c0dfa91a0898", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/module-manager/extractor.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-ab10d201057e2391", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/dt-ws/src/__tests__/package-module-embeddings.spec.ts:1"}, "properties": {"repobilityId": "cffc7bdeefa50cd4", "scanner": "scanner-primary", "fingerprint": "ab10d201057e2391", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dt-ws/src/__tests__/package-module-embeddings.spec.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cc7bc261f3db3890", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in apps/dt-ui/src/stores/authStore.ts:449"}, "properties": {"repobilityId": "326bd63a96f78335", "scanner": "scanner-primary", "fingerprint": "cc7bc261f3db3890", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dt-ui/src/stores/authStore.ts"}, "region": {"startLine": 449}}}]}, {"ruleId": "scanner-1c14f0bd3b8181f7", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/dethereal/scripts/detect-drift.js:11"}, "properties": {"repobilityId": "41fb471333384e5b", "scanner": "scanner-primary", "fingerprint": "1c14f0bd3b8181f7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/scripts/detect-drift.js"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-74c1a176a47fdde1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/dethereal/src/utils/__tests__/threat-model-resume.test.ts:2"}, "properties": {"repobilityId": "38595c2abdda6ddc", "scanner": "scanner-primary", "fingerprint": "74c1a176a47fdde1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/src/utils/__tests__/threat-model-resume.test.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-587968cc356ce234", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/dethereal/src/utils/__tests__/detect-drift.test.ts:2"}, "properties": {"repobilityId": "023599ae4a3905ab", "scanner": "scanner-primary", "fingerprint": "587968cc356ce234", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/src/utils/__tests__/detect-drift.test.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-ef638d8d421d5677", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/dethereal/src/__tests__/integration/control-library-demo2.test.ts:46"}, "properties": {"repobilityId": "70aad41b04bb9125", "scanner": "scanner-primary", "fingerprint": "ef638d8d421d5677", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/src/__tests__/integration/control-library-demo2.test.ts"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8ae5e48e366ecdcb", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3bcc7c261ded4b3c", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-7f0f9976570faa6d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cab2317e19e2fc58", "scanner": "scanner-primary", "fingerprint": "7f0f9976570faa6d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2644034c718fb80d", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f0dc584a111ffc00", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-1838a141491ce38c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b8fd4f5048f96576", "scanner": "scanner-primary", "fingerprint": "1838a141491ce38c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-65aa740cba4a4a73", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8860eac61a1ebe26", "scanner": "scanner-primary", "fingerprint": "65aa740cba4a4a73", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/codeql.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-65aa740cba4a4a73", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "549a2de1ac0c3fa9", "scanner": "scanner-primary", "fingerprint": "65aa740cba4a4a73", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/codeql.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-65aa740cba4a4a73", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a4f0ab9334543546", "scanner": "scanner-primary", "fingerprint": "65aa740cba4a4a73", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/codeql.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-65aa740cba4a4a73", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a5721e15e3a54aa2", "scanner": "scanner-primary", "fingerprint": "65aa740cba4a4a73", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/codeql.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-8ecdc3efdd4aa236", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6ad40a9f40f1f00f", "scanner": "scanner-primary", "fingerprint": "8ecdc3efdd4aa236", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cla.yml"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-2fdcc3aac10df7e9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8790272a56f5e9ce", "scanner": "scanner-primary", "fingerprint": "2fdcc3aac10df7e9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cla.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ae16880318b99912", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9e5617d449b061f6", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "989a74409a402368", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-4594175bfb039055", "level": "note", "message": {"text": "Very large file: packages/dt-core/src/dt-control-library/dt-control-library.ts (1382 lines)"}, "properties": {"repobilityId": "2a34266ca1748868", "scanner": "scanner-primary", "fingerprint": "4594175bfb039055", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ab20103499dc14a4", "level": "note", "message": {"text": "Very large file: packages/dt-core/src/dt-control-library/__tests__/dt-control-library.test.ts (1693 lines)"}, "properties": {"repobilityId": "28c8c97af0cd2fdc", "scanner": "scanner-primary", "fingerprint": "ab20103499dc14a4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f8f7aba741745688", "level": "note", "message": {"text": "Very large file: apps/dt-ws/src/gql/module-management-services/module-management.service.ts (1511 lines)"}, "properties": {"repobilityId": "1feebf9badb612a4", "scanner": "scanner-primary", "fingerprint": "f8f7aba741745688", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0e858b445aaa003e", "level": "note", "message": {"text": "Very large file: apps/dt-ws/src/gql/resolver-services/analysis-resolver.service.ts (1688 lines)"}, "properties": {"repobilityId": "fc80316886e199f3", "scanner": "scanner-primary", "fingerprint": "0e858b445aaa003e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a089d77d7504b087", "level": "note", "message": {"text": "Very large file: apps/dt-ws/src/gql/resolver-services/set-instantiation-attributes.service.ts (1833 lines)"}, "properties": {"repobilityId": "4d1668f50b92028b", "scanner": "scanner-primary", "fingerprint": "a089d77d7504b087", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9833236956537b46", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/dt-core/package.json"}, "properties": {"repobilityId": "6c3d256a39b08d18", "scanner": "scanner-primary", "fingerprint": "9833236956537b46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dt-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3f65e1ca9b00183a", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/eslint-config/package.json"}, "properties": {"repobilityId": "7374bbf66cd702ed", "scanner": "scanner-primary", "fingerprint": "3f65e1ca9b00183a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/eslint-config/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-21876d6ed7f81971", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/dt-module/package.json"}, "properties": {"repobilityId": "1c19b6458e05d060", "scanner": "scanner-primary", "fingerprint": "21876d6ed7f81971", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/dt-module/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0ca24273c05538e6", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: modules/dethernety-coverage-tools/package.json"}, "properties": {"repobilityId": "49214c9f3a8e87e4", "scanner": "scanner-primary", "fingerprint": "0ca24273c05538e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "modules/dethernety-coverage-tools/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f995f6efa94da323", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: modules/dethernety-threat-report/package.json"}, "properties": {"repobilityId": "7a61cf6d87d214f2", "scanner": "scanner-primary", "fingerprint": "f995f6efa94da323", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "modules/dethernety-threat-report/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6d40962d0a728474", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: modules/dethernety-general/package.json"}, "properties": {"repobilityId": "001088c9bc8443e8", "scanner": "scanner-primary", "fingerprint": "6d40962d0a728474", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "modules/dethernety-general/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2865603311537a47", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/dt-ws/package.json"}, "properties": {"repobilityId": "8152d247aa8c4853", "scanner": "scanner-primary", "fingerprint": "2865603311537a47", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dt-ws/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a11dd64becd17589", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/dt-ui/package.json"}, "properties": {"repobilityId": "35f816d0bfa09ef5", "scanner": "scanner-primary", "fingerprint": "a11dd64becd17589", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dt-ui/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0d87d75d215963a1", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/dethereal/package.json"}, "properties": {"repobilityId": "b354b03358e3104a", "scanner": "scanner-primary", "fingerprint": "0d87d75d215963a1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "d52d74adaf03fa1b", "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": "19f33a6d905c67bd", "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": "e267c74805b59a83", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "5cff577dff9f0394", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-bea357a6497a2d5d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "properties": {"repobilityId": "aae72df3934829ac", "scanner": "scanner-primary", "fingerprint": "bea357a6497a2d5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5baa63c0aaa2a46c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: apps/dethereal/.mcp.json"}, "properties": {"repobilityId": "c850191e130527bf", "scanner": "scanner-primary", "fingerprint": "5baa63c0aaa2a46c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "mcp_config"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/.mcp.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-99ae31cdd6c66bc5", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: apps/dethereal/skills/login/SKILL.md"}, "properties": {"repobilityId": "93514dfafca48903", "scanner": "scanner-primary", "fingerprint": "99ae31cdd6c66bc5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/skills/login/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-55a4f893a0c2aceb", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: apps/dethereal/skills/discover/SKILL.md"}, "properties": {"repobilityId": "c80586e104135175", "scanner": "scanner-primary", "fingerprint": "55a4f893a0c2aceb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/skills/discover/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e23d71df53cd74bb", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: apps/dethereal/skills/enrich/SKILL.md"}, "properties": {"repobilityId": "a9e90aa9b0fd67e5", "scanner": "scanner-primary", "fingerprint": "e23d71df53cd74bb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/skills/enrich/SKILL.md"}, "region": {"startLine": 409}}}]}, {"ruleId": "scanner-f3b999d9ca9ac4d8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: apps/dethereal/skills/enrich/SKILL.md"}, "properties": {"repobilityId": "29a2a4d3485de191", "scanner": "scanner-primary", "fingerprint": "f3b999d9ca9ac4d8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/skills/enrich/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-42f72a1d1dffd522", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: apps/dethereal/skills/add/SKILL.md"}, "properties": {"repobilityId": "142a2d3c4f1af52c", "scanner": "scanner-primary", "fingerprint": "42f72a1d1dffd522", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/skills/add/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f0f86fc72f19727", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: apps/dethereal/skills/remove/SKILL.md"}, "properties": {"repobilityId": "fe9f0d2e1ab584c0", "scanner": "scanner-primary", "fingerprint": "1f0f86fc72f19727", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/skills/remove/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9b6e251e320b35bd", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: apps/dethereal/skills/help/SKILL.md"}, "properties": {"repobilityId": "2ae7100ff865c057", "scanner": "scanner-primary", "fingerprint": "9b6e251e320b35bd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/dethereal/skills/help/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-23d30d942cf4817c", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-class-identity/__tests__/dt-class-identity.test.ts:128"}, "properties": {"repobilityId": "df595397d8b844f5", "scanner": "scanner-primary", "fingerprint": "23d30d942cf4817c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a6ceca9ac821fe75", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/dt-core/src/dt-model/dt-model.ts:394"}, "properties": {"repobilityId": "f9824490990eeebc", "scanner": "scanner-primary", "fingerprint": "a6ceca9ac821fe75", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22a3c7f578c7de25", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-control/dt-control.ts:413"}, "properties": {"repobilityId": "05fdce69dc5ed41a", "scanner": "scanner-primary", "fingerprint": "22a3c7f578c7de25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8909c9204145a73f", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/dt-core/src/dt-class/dt-class.ts:349"}, "properties": {"repobilityId": "b213949f2cd32f25", "scanner": "scanner-primary", "fingerprint": "8909c9204145a73f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b29cc4a1fefb6305", "level": "none", "message": {"text": "Commented-code block (12 lines) in packages/dt-core/src/dt-issue/dt-issue.ts:337"}, "properties": {"repobilityId": "ba8c2a1482af093d", "scanner": "scanner-primary", "fingerprint": "b29cc4a1fefb6305", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e5ac536ff6c748f", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/dt-core/src/dt-analysis/dt-analysis-gql.ts:80"}, "properties": {"repobilityId": "9338df472cf1d396", "scanner": "scanner-primary", "fingerprint": "1e5ac536ff6c748f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80216688a637b928", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-component/dt-component.ts:99"}, "properties": {"repobilityId": "968fe64f172d4132", "scanner": "scanner-primary", "fingerprint": "80216688a637b928", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a89039b08df8dd0", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/dt-core/src/dt-exposure/dt-exposure-gql.ts:162"}, "properties": {"repobilityId": "1bf261ab8af9340b", "scanner": "scanner-primary", "fingerprint": "2a89039b08df8dd0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ce31509da9ccde5", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/dt-core/src/interfaces/core-types-interface.ts:310"}, "properties": {"repobilityId": "7a825c9031748364", "scanner": "scanner-primary", "fingerprint": "7ce31509da9ccde5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4193663c03c2e9a4", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-import/dt-import.ts:993"}, "properties": {"repobilityId": "0e2a5ccbb10dd29e", "scanner": "scanner-primary", "fingerprint": "4193663c03c2e9a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed90e504377e2b30", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/dt-core/src/dt-control-library/audit-log-writer.ts:302"}, "properties": {"repobilityId": "e5dce472e4ccc3c6", "scanner": "scanner-primary", "fingerprint": "ed90e504377e2b30", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b83d637d591400c", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-control-library/wal-helper.ts:63"}, "properties": {"repobilityId": "17c7941314c9a398", "scanner": "scanner-primary", "fingerprint": "8b83d637d591400c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e40ac0fd0fca30a3", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-control-library/validator.ts:50"}, "properties": {"repobilityId": "78ca91d4a7a06602", "scanner": "scanner-primary", "fingerprint": "e40ac0fd0fca30a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb162610d5b6bb7c", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/dt-core/src/dt-control-library/dt-control-library.ts:612"}, "properties": {"repobilityId": "9261cb861a4d93f5", "scanner": "scanner-primary", "fingerprint": "fb162610d5b6bb7c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-116e34c793c966a0", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/dt-core/src/dt-control-library/__tests__/validator.test.ts:334"}, "properties": {"repobilityId": "87c6a41df2b0c691", "scanner": "scanner-primary", "fingerprint": "116e34c793c966a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f73d7fabfcdfb20", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/dt-core/src/dt-control-library/__tests__/dt-control-library.test.ts:46"}, "properties": {"repobilityId": "2ee3eae084e3f110", "scanner": "scanner-primary", "fingerprint": "4f73d7fabfcdfb20", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e0e0a64bf1af0ac", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/dt-core/src/dt-countermeasure/dt-countermeasure.ts:131"}, "properties": {"repobilityId": "b42e301bc4f6481a", "scanner": "scanner-primary", "fingerprint": "0e0e0a64bf1af0ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0e9a88948f4ce11", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/dt-core/src/dt-countermeasure/dt-countermeasure-gql.ts:163"}, "properties": {"repobilityId": "f230fa2f7801363a", "scanner": "scanner-primary", "fingerprint": "b0e9a88948f4ce11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a384bdfe9919d2f", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/dt-module/src/dt-lg-module.ts:189"}, "properties": {"repobilityId": "383bd96fed05f20b", "scanner": "scanner-primary", "fingerprint": "5a384bdfe9919d2f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78e2c5ca0de637a0", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/dt-module/src/dt-lg-analysis-ops.ts:436"}, "properties": {"repobilityId": "d9bad3088ced08d6", "scanner": "scanner-primary", "fingerprint": "78e2c5ca0de637a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4534d18a81a7f82a", "level": "none", "message": {"text": "Commented-code block (7 lines) in modules/dethernety-coverage-tools/src/DethernetyCoverageToolsModule.ts:187"}, "properties": {"repobilityId": "eb10a903be84c368", "scanner": "scanner-primary", "fingerprint": "4534d18a81a7f82a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2cc2347374f1ff6c", "level": "none", "message": {"text": "Commented-code block (9 lines) in modules/mitre-frameworks/parsetest.py:121"}, "properties": {"repobilityId": "5d347474a623f0ae", "scanner": "scanner-primary", "fingerprint": "2cc2347374f1ff6c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c7e4523db08fab10", "level": "none", "message": {"text": "Commented-code block (10 lines) in modules/mitre-frameworks/ingest.py:27"}, "properties": {"repobilityId": "4fe36a16b48d71fe", "scanner": "scanner-primary", "fingerprint": "c7e4523db08fab10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a239a957b1b11e9", "level": "none", "message": {"text": "Commented-code block (5 lines) in modules/mitre-frameworks/scripts/embedding_provider.py:64"}, "properties": {"repobilityId": "067f04e1c71f157e", "scanner": "scanner-primary", "fingerprint": "1a239a957b1b11e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1602e0c59064ca4a", "level": "none", "message": {"text": "Commented-code block (5 lines) in modules/dethernety-threat-report/vitest.config.mjs:3"}, "properties": {"repobilityId": "38097247c0d513c7", "scanner": "scanner-primary", "fingerprint": "1602e0c59064ca4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f796b5e742b81c75", "level": "none", "message": {"text": "Commented-code block (5 lines) in modules/dethernety-threat-report/frontend/composables/useThreatReportState.js:3"}, "properties": {"repobilityId": "8c9bd92caa46b3df", "scanner": "scanner-primary", "fingerprint": "f796b5e742b81c75", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0820721f55cef9c1", "level": "none", "message": {"text": "Commented-code block (5 lines) in modules/dethernety-threat-report/frontend/composables/useThreatReportData.js:3"}, "properties": {"repobilityId": "084180b9ba745958", "scanner": "scanner-primary", "fingerprint": "0820721f55cef9c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bdaa8222a6010e9c", "level": "none", "message": {"text": "Commented-code block (6 lines) in modules/dethernety-threat-report/frontend/lib/exportReport.js:1"}, "properties": {"repobilityId": "63be11809f53341e", "scanner": "scanner-primary", "fingerprint": "bdaa8222a6010e9c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fdd660c518409a82", "level": "none", "message": {"text": "Commented-code block (6 lines) in modules/dethernety-threat-report/frontend/lib/aggregateLedger.js:5"}, "properties": {"repobilityId": "d402be6e4c1960a3", "scanner": "scanner-primary", "fingerprint": "fdd660c518409a82", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ee1aa42783e5315", "level": "none", "message": {"text": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/coverageMatrix.js:3"}, "properties": {"repobilityId": "bc70b5f0fe368736", "scanner": "scanner-primary", "fingerprint": "8ee1aa42783e5315", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-534a351a3f5f252b", "level": "none", "message": {"text": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/completenessFlags.js:3"}, "properties": {"repobilityId": "b1c351c4882d65be", "scanner": "scanner-primary", "fingerprint": "534a351a3f5f252b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31b4a1360ecaeedf", "level": "none", "message": {"text": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/reachability.js:3"}, "properties": {"repobilityId": "24f8b15aa30f70b1", "scanner": "scanner-primary", "fingerprint": "31b4a1360ecaeedf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d65aed9335eded1", "level": "none", "message": {"text": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/componentProfile.js:3"}, "properties": {"repobilityId": "2bb68b5cd56f922c", "scanner": "scanner-primary", "fingerprint": "7d65aed9335eded1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a651e392d04e141f", "level": "none", "message": {"text": "Commented-code block (6 lines) in modules/dethernety-threat-report/frontend/lib/findingActions.js:1"}, "properties": {"repobilityId": "b9ae2840295cc749", "scanner": "scanner-primary", "fingerprint": "a651e392d04e141f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b81b462b983c517", "level": "none", "message": {"text": "Commented-code block (6 lines) in modules/dethernety-threat-report/frontend/lib/postureSummary.js:3"}, "properties": {"repobilityId": "9a6730b5cf3e11a2", "scanner": "scanner-primary", "fingerprint": "5b81b462b983c517", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3aeafa4f08957f29", "level": "none", "message": {"text": "Commented-code block (5 lines) in modules/dethernety-threat-report/frontend/lib/boundaryCrossings.js:3"}, "properties": {"repobilityId": "9316a03f70cc2446", "scanner": "scanner-primary", "fingerprint": "3aeafa4f08957f29", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d32a8df637ed45f", "level": "none", "message": {"text": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/lib/exposureDetail.js:3"}, "properties": {"repobilityId": "a14a32259e346bcb", "scanner": "scanner-primary", "fingerprint": "5d32a8df637ed45f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-03dd0b893de980f3", "level": "none", "message": {"text": "Commented-code block (8 lines) in modules/dethernety-threat-report/frontend/graphql/queries.js:18"}, "properties": {"repobilityId": "94814ae8d7d06918", "scanner": "scanner-primary", "fingerprint": "03dd0b893de980f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e29f6d1b1e9ca63e", "level": "none", "message": {"text": "Commented-code block (5 lines) in modules/dethernety-threat-report/frontend/__tests__/exportReport.test.js:1"}, "properties": {"repobilityId": "65e61aacd5fe3ab7", "scanner": "scanner-primary", "fingerprint": "e29f6d1b1e9ca63e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a704d7ea30ccae92", "level": "none", "message": {"text": "Commented-code block (7 lines) in modules/dethernety-threat-report/frontend/__tests__/reachability.test.js:17"}, "properties": {"repobilityId": "cda9102b8e04aacb", "scanner": "scanner-primary", "fingerprint": "a704d7ea30ccae92", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6867d1af984ecd00", "level": "none", "message": {"text": "Commented-code block (5 lines) in modules/dethernety-threat-report/src/DethernetyThreatReportModule.ts:241"}, "properties": {"repobilityId": "d63cc5d08d792569", "scanner": "scanner-primary", "fingerprint": "6867d1af984ecd00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0bb538867b4c79bf", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ws/src/bootstrap/ensure-constraints.service.ts:40"}, "properties": {"repobilityId": "836b0b162755bb39", "scanner": "scanner-primary", "fingerprint": "0bb538867b4c79bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2fc149465fe63416", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ws/src/bootstrap/ensure-indexes.service.ts:70"}, "properties": {"repobilityId": "ed2b5d70850f00a1", "scanner": "scanner-primary", "fingerprint": "2fc149465fe63416", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea69f339abb7f839", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/common/guards/jwt-auth.guard.ts:101"}, "properties": {"repobilityId": "84f78e29dfab5e96", "scanner": "scanner-primary", "fingerprint": "ea69f339abb7f839", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4df796199ef92a7", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/gql/module-management-services/class-reconciler.service.ts:5"}, "properties": {"repobilityId": "45caf8d3e50d854e", "scanner": "scanner-primary", "fingerprint": "e4df796199ef92a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ff8b449eaeac321", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ws/src/gql/module-management-services/module-management.service.ts:331"}, "properties": {"repobilityId": "818d4283f6fbd55b", "scanner": "scanner-primary", "fingerprint": "8ff8b449eaeac321", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b0e0c3dc71e802e", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/gql/module-management-services/module-registry.service.ts:511"}, "properties": {"repobilityId": "d54393ca9a67a822", "scanner": "scanner-primary", "fingerprint": "8b0e0c3dc71e802e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-69562ca301fc333d", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/dt-ws/src/gql/module-management-services/__tests__/class-reconciler.spec.ts:3"}, "properties": {"repobilityId": "7273e46b00536acd", "scanner": "scanner-primary", "fingerprint": "69562ca301fc333d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85fec46ae70c0e81", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/gql/module-management-services/__tests__/identity.spec.ts:10"}, "properties": {"repobilityId": "681dd81bbd73792b", "scanner": "scanner-primary", "fingerprint": "85fec46ae70c0e81", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9de3f5c0ac8e4b27", "level": "note", "message": {"text": "Legacy-named symbol `resetModuleLegacy` in apps/dt-ws/src/gql/resolver-services/module-management-resolver.service.ts:203"}, "properties": {"repobilityId": "d141b481b5071e0f", "scanner": "scanner-primary", "fingerprint": "9de3f5c0ac8e4b27", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-faae2992d20beeec", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/gql/resolver-services/list-classes-resolver.service.ts:149"}, "properties": {"repobilityId": "81493720bf3a287c", "scanner": "scanner-primary", "fingerprint": "faae2992d20beeec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-233d4a43a36a77f7", "level": "note", "message": {"text": "Legacy-named symbol `getModuleTemplateLegacy` in apps/dt-ws/src/gql/resolver-services/template-resolver.service.ts:276"}, "properties": {"repobilityId": "f263c8a5b4120e56", "scanner": "scanner-primary", "fingerprint": "233d4a43a36a77f7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-03f7b575baf518a0", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ws/src/gql/resolver-services/match-mitre-techniques-resolver.service.ts:62"}, "properties": {"repobilityId": "69d5b7fa306a3229", "scanner": "scanner-primary", "fingerprint": "03f7b575baf518a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa4312e8ba406796", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dt-ws/src/gql/resolver-services/match-mitre-techniques-resolver.service.ts:816"}, "properties": {"repobilityId": "77d1fd37eb7e8453", "scanner": "scanner-primary", "fingerprint": "aa4312e8ba406796", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4e627b7c836df316", "level": "none", "message": {"text": "Commented-code block (11 lines) in apps/dt-ws/src/gql/resolver-services/analysis-resolver.service.ts:995"}, "properties": {"repobilityId": "311bdd4da180f7ce", "scanner": "scanner-primary", "fingerprint": "4e627b7c836df316", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6b8badf7c37806f", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/gql/resolver-services/match-classes-resolver.service.ts:502"}, "properties": {"repobilityId": "648742289b011f7e", "scanner": "scanner-primary", "fingerprint": "f6b8badf7c37806f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e51d15c6cdbf506", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/gql/resolver-services/set-instantiation-attributes.service.ts:41"}, "properties": {"repobilityId": "7c23eb898375d516", "scanner": "scanner-primary", "fingerprint": "4e51d15c6cdbf506", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49d2e6c68acf02cd", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/dt-ws/src/gql/resolver-services/orphan-sweep-resolver.service.ts:164"}, "properties": {"repobilityId": "d8393fefd7df434b", "scanner": "scanner-primary", "fingerprint": "49d2e6c68acf02cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f37e8ab664c574df", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ws/src/gql/resolver-services/element-binding.service.ts:82"}, "properties": {"repobilityId": "f39f4c1282305171", "scanner": "scanner-primary", "fingerprint": "f37e8ab664c574df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d96ee7d643f1c9d9", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/dt-ws/src/gql/resolver-services/control-candidates-resolver.service.ts:80"}, "properties": {"repobilityId": "f01bc4eaab865069", "scanner": "scanner-primary", "fingerprint": "d96ee7d643f1c9d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b29662a411dec054", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/dt-ws/src/gql/resolver-services/class-identity-resolver.service.ts:158"}, "properties": {"repobilityId": "0e38a35df0551351", "scanner": "scanner-primary", "fingerprint": "b29662a411dec054", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8bb564da5645a098", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/dt-ws/src/gql/resolver-services/disposition-resolver.service.ts:129"}, "properties": {"repobilityId": "b648112b45b235b8", "scanner": "scanner-primary", "fingerprint": "8bb564da5645a098", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49ad4fc433db40b9", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ws/src/gql/services/schema.service.ts:61"}, "properties": {"repobilityId": "27d4947804ab7811", "scanner": "scanner-primary", "fingerprint": "49ad4fc433db40b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb8f06a4cc74f0aa", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/dt-ws/src/gql/services/authorization.service.ts:87"}, "properties": {"repobilityId": "a1c5ae35eb7a29f6", "scanner": "scanner-primary", "fingerprint": "fb8f06a4cc74f0aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b4910d2ee8c9511", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/dt-ws/src/gql/services/__tests__/schema-cypher-shape.spec.ts:44"}, "properties": {"repobilityId": "e87271fef4151b3a", "scanner": "scanner-primary", "fingerprint": "5b4910d2ee8c9511", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dccef8f9c096e86d", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ws/src/__tests__/module-manager-embed-cli.spec.ts:4"}, "properties": {"repobilityId": "0ee383cc3cf0376b", "scanner": "scanner-primary", "fingerprint": "dccef8f9c096e86d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9c3cc3224597acbc", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ws/test/langgraph-sdk-jest-stub.ts:1"}, "properties": {"repobilityId": "6a34e3ad210af384", "scanner": "scanner-primary", "fingerprint": "9c3cc3224597acbc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae29639563f00bf6", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/dt-ws/test/integration/disposition-companion-canary.e2e-spec.ts:14"}, "properties": {"repobilityId": "9fde1dc2c58404cd", "scanner": "scanner-primary", "fingerprint": "ae29639563f00bf6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05c544ca1e0fd5ac", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/dt-ws/test/integration/delete-model.e2e-spec.ts:9"}, "properties": {"repobilityId": "144209299851d7e8", "scanner": "scanner-primary", "fingerprint": "05c544ca1e0fd5ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e518a579ca5997a8", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/dt-ws/test/integration/update-exposures-companion.e2e-spec.ts:9"}, "properties": {"repobilityId": "ee549c4b3f706278", "scanner": "scanner-primary", "fingerprint": "e518a579ca5997a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55cb67241ca84bdd", "level": "none", "message": {"text": "Commented-code block (12 lines) in apps/dt-ws/test/integration/disposition.e2e-spec.ts:8"}, "properties": {"repobilityId": "c27d7a72813cd4cc", "scanner": "scanner-primary", "fingerprint": "55cb67241ca84bdd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89911257f15133ed", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ws/test/integration/create-analysis-idempotent.e2e-spec.ts:1"}, "properties": {"repobilityId": "6a778b1526a1393a", "scanner": "scanner-primary", "fingerprint": "89911257f15133ed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f155fc62d41f5211", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/dt-ws/test/integration/cypher-mutation-canary.e2e-spec.ts:4"}, "properties": {"repobilityId": "318ca101cbcb14b7", "scanner": "scanner-primary", "fingerprint": "f155fc62d41f5211", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa0b9e4b0a200bc9", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ws/test/integration/mitre-verb-edges.e2e-spec.ts:3"}, "properties": {"repobilityId": "88181d71a96960b7", "scanner": "scanner-primary", "fingerprint": "aa0b9e4b0a200bc9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-295c4266c9908b87", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ws/test/integration/mitre-verb-edges-graphql.e2e-spec.ts:3"}, "properties": {"repobilityId": "e4d1952a1d176409", "scanner": "scanner-primary", "fingerprint": "295c4266c9908b87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d70fe7e6d196b44b", "level": "none", "message": {"text": "Commented-code block (11 lines) in apps/dt-ws/test/integration/set-attributes-staleness.e2e-spec.ts:9"}, "properties": {"repobilityId": "b15bea907fce8d1e", "scanner": "scanner-primary", "fingerprint": "d70fe7e6d196b44b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a05689541f4bfeae", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ws/test/integration/match-mitre-techniques.e2e-spec.ts:3"}, "properties": {"repobilityId": "2212f5c14283ee7f", "scanner": "scanner-primary", "fingerprint": "a05689541f4bfeae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff4ee958aca9a913", "level": "none", "message": {"text": "Commented-code block (13 lines) in apps/dt-ws/test/integration/provenance.e2e-spec.ts:4"}, "properties": {"repobilityId": "61a7b7acedf8cf32", "scanner": "scanner-primary", "fingerprint": "ff4ee958aca9a913", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad0744db0343cbef", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ws/test/integration/reconciliation.e2e-spec.ts:362"}, "properties": {"repobilityId": "c513ceefaf8aa5be", "scanner": "scanner-primary", "fingerprint": "ad0744db0343cbef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8cb12beec393a05d", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/dt-ws/test/integration/asset-context.e2e-spec.ts:6"}, "properties": {"repobilityId": "74227a67efee3b5a", "scanner": "scanner-primary", "fingerprint": "8cb12beec393a05d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b6f82fc5ac9edcd", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/dt-ws/test/integration/sweep-orphans.e2e-spec.ts:7"}, "properties": {"repobilityId": "9cb2d6e3b6890865", "scanner": "scanner-primary", "fingerprint": "0b6f82fc5ac9edcd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-97edf35932ccdc05", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/dt-ws/test/integration/upsert-query-plan.e2e-spec.ts:6"}, "properties": {"repobilityId": "91287767c70a4414", "scanner": "scanner-primary", "fingerprint": "97edf35932ccdc05", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04b6c67f434effe5", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/dt-ws/test/integration/element-binding.e2e-spec.ts:3"}, "properties": {"repobilityId": "1047c73202735325", "scanner": "scanner-primary", "fingerprint": "04b6c67f434effe5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a1677ec2c7d4b37", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/dt-ui/src/main.ts:38"}, "properties": {"repobilityId": "105539ae0be106f8", "scanner": "scanner-primary", "fingerprint": "7a1677ec2c7d4b37", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e617702b03072422", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ui/src/stores/flowStore.ts:22"}, "properties": {"repobilityId": "d58399655399ccf2", "scanner": "scanner-primary", "fingerprint": "e617702b03072422", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f4b36dec6cfb079", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ui/src/stores/techniqueSuggestionsStore.ts:170"}, "properties": {"repobilityId": "48a881b4800f2779", "scanner": "scanner-primary", "fingerprint": "7f4b36dec6cfb079", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d5987d355d18d0a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dt-ui/src/stores/authStore.ts:530"}, "properties": {"repobilityId": "ec1a5a2a95dd529a", "scanner": "scanner-primary", "fingerprint": "5d5987d355d18d0a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7548933f4ed6541f", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ui/src/stores/analysisStore.ts:141"}, "properties": {"repobilityId": "d13def72c2b902ac", "scanner": "scanner-primary", "fingerprint": "7548933f4ed6541f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a767f0ade0d0b59f", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ui/src/stores/modulesStore.ts:321"}, "properties": {"repobilityId": "90cef952b4a4da1f", "scanner": "scanner-primary", "fingerprint": "a767f0ade0d0b59f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce48e7a68b482cdf", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ui/src/composables/useHostContext.ts:14"}, "properties": {"repobilityId": "abdbf635543620a7", "scanner": "scanner-primary", "fingerprint": "ce48e7a68b482cdf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8957cdde7a8fe20", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dt-ui/src/composables/useFindingDisposition.ts:98"}, "properties": {"repobilityId": "dd6bf73e46cfec22", "scanner": "scanner-primary", "fingerprint": "b8957cdde7a8fe20", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6dbfb4dd8e27738b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dt-ui/src/components/DataFlow/ClassPicker/__tests__/ClassPickerInline.test.ts:445"}, "properties": {"repobilityId": "bbd4ab08c0393b1e", "scanner": "scanner-primary", "fingerprint": "6dbfb4dd8e27738b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8ea7c3b85e6a4333", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dt-ui/src/config/environment-todo.ts:260"}, "properties": {"repobilityId": "28b87b7bdda137d8", "scanner": "scanner-primary", "fingerprint": "8ea7c3b85e6a4333", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b00b9fc618863646", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dethereal/src/utils/directory-utils.ts:283"}, "properties": {"repobilityId": "51c32be1826d179f", "scanner": "scanner-primary", "fingerprint": "b00b9fc618863646", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c03238184c0621e6", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/dethereal/src/utils/__tests__/threat-model-resume.test.ts:18"}, "properties": {"repobilityId": "feb08424d7f87a1d", "scanner": "scanner-primary", "fingerprint": "c03238184c0621e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2549363695962ea", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dethereal/src/utils/__tests__/directory-utils.test.ts:3"}, "properties": {"repobilityId": "8d862f873a158abf", "scanner": "scanner-primary", "fingerprint": "f2549363695962ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5cccc13eb6b02b54", "level": "note", "message": {"text": "Legacy-named symbol `create_backup` in apps/dethereal/src/tools/update-model.tool.ts:44"}, "properties": {"repobilityId": "e7d9027bb031889a", "scanner": "scanner-primary", "fingerprint": "5cccc13eb6b02b54", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8b1a72e0635abf59", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dethereal/src/tools/manage-controls.tool.ts:95"}, "properties": {"repobilityId": "c11225d717f6d613", "scanner": "scanner-primary", "fingerprint": "8b1a72e0635abf59", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2afbe8548d1027f8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dethereal/src/tools/manage-controls.tool.ts:120"}, "properties": {"repobilityId": "676fa77a8b49d40f", "scanner": "scanner-primary", "fingerprint": "2afbe8548d1027f8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a4a7b5c9b54502b0", "level": "note", "message": {"text": "Legacy-named symbol `create_backup` in apps/dethereal/src/tools/import-model.tool.ts:41"}, "properties": {"repobilityId": "468e6b016c4e6b63", "scanner": "scanner-primary", "fingerprint": "a4a7b5c9b54502b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1a069b0b24b66ed9", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dethereal/src/tools/export-model.tool.ts:125"}, "properties": {"repobilityId": "4b4b8dc941c7ca87", "scanner": "scanner-primary", "fingerprint": "1a069b0b24b66ed9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-777a2f774b560bad", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dethereal/src/tools/validate-model.tool.ts:278"}, "properties": {"repobilityId": "aab54c23a2967795", "scanner": "scanner-primary", "fingerprint": "777a2f774b560bad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b28fcf27c8884c59", "level": "note", "message": {"text": "Legacy-named symbol `create_backup` in apps/dethereal/src/tools/__tests__/update-model.tool.test.ts:143"}, "properties": {"repobilityId": "f05465c6cbfdc0a5", "scanner": "scanner-primary", "fingerprint": "b28fcf27c8884c59", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f7904ab2519f8752", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dethereal/src/tools/__tests__/manage-controls.tool.test.ts:67"}, "properties": {"repobilityId": "105a36f55fc33eb4", "scanner": "scanner-primary", "fingerprint": "f7904ab2519f8752", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ee943b6a3bc8c6a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/dethereal/src/auth/oauth-flow.ts:84"}, "properties": {"repobilityId": "1b60b6ebecde05f5", "scanner": "scanner-primary", "fingerprint": "7ee943b6a3bc8c6a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-af4d188e06f07b0b", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/dethereal/src/auth/oauth-server.ts:185"}, "properties": {"repobilityId": "ace2a868cb3bf119", "scanner": "scanner-primary", "fingerprint": "af4d188e06f07b0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21996a3942cc70da", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/dethereal/src/client/apollo-client.ts:78"}, "properties": {"repobilityId": "084855dd9239a28f", "scanner": "scanner-primary", "fingerprint": "21996a3942cc70da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "0f48f9f772bfdfef", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "9f3181f5f6dac996", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-8c236625afb6a8cb", "level": "note", "message": {"text": "Unused endpoint: GET /ready"}, "properties": {"repobilityId": "5b7cca2c4631c7d0", "scanner": "scanner-primary", "fingerprint": "8c236625afb6a8cb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-376ec8a28e3de290", "level": "note", "message": {"text": "Unused endpoint: GET /modules/:moduleName/bundle.js"}, "properties": {"repobilityId": "71f025e6c04c9966", "scanner": "scanner-primary", "fingerprint": "376ec8a28e3de290", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7a7da4485ffd5140", "level": "note", "message": {"text": "Unused endpoint: GET /*"}, "properties": {"repobilityId": "a5f0fc1752cc01b8", "scanner": "scanner-primary", "fingerprint": "7a7da4485ffd5140", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d960a9e7def9ad64", "level": "note", "message": {"text": "Unused endpoint: GET /graphql/stream"}, "properties": {"repobilityId": "701060132de0a625", "scanner": "scanner-primary", "fingerprint": "d960a9e7def9ad64", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d38ac0195365c8c4", "level": "note", "message": {"text": "Unused endpoint: POST /graphql/stream"}, "properties": {"repobilityId": "93b70182fa1a31cf", "scanner": "scanner-primary", "fingerprint": "d38ac0195365c8c4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}