{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd2fe34c416db51b", "name": "Insecure pattern 'node_child_process' in scripts/postinstall.mjs:14", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/postinstall.mjs: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-4cc66e07625b760a", "name": "Insecure pattern 'node_child_process' in src/update.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/update.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9844bc865560ce7", "name": "Insecure pattern 'node_child_process' in src/ship.mjs:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/ship.mjs: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-71ffa5b0ad846f87", "name": "Insecure pattern 'node_child_process' in src/init.mjs:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/init.mjs: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-3c2f72e262d7e8e4", "name": "Insecure pattern 'node_child_process' in src/git.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/git.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-47e55aea7ded5111", "name": "Insecure pattern 'node_child_process' in src/ai.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/ai.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-76725911c04d37a2", "name": "Insecure pattern 'node_child_process' in src/watch.mjs:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/watch.mjs: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-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7ffa33751be3d771", "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-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-27ff2c715cd866cb", "name": "Very large file: test/lifecycle.test.mjs (1077 lines)", "shortDescription": {"text": "Very large file: test/lifecycle.test.mjs (1077 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-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-24f2ea4bd14badc1", "name": "Agent instruction contains unpinned remote install: CLAUDE.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: CLAUDE.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2fc8040f35833685", "name": "Agent authority lacks a verifier contract: plugins/dotmd/skills/dotmd/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: plugins/dotmd/skills/dotmd/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-905df964e612f70d", "name": "Commented-code block (12 lines) in dotmd.config.example.mjs:23", "shortDescription": {"text": "Commented-code block (12 lines) in dotmd.config.example.mjs:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-629853cca934e3b2", "name": "Commented-code block (5 lines) in test/graph.test.mjs:368", "shortDescription": {"text": "Commented-code block (5 lines) in test/graph.test.mjs:368"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-163c21401631d433", "name": "Commented-code block (5 lines) in test/init.test.mjs:12", "shortDescription": {"text": "Commented-code block (5 lines) in test/init.test.mjs:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-282f46afe1ea52ac", "name": "Commented-code block (5 lines) in test/plugin-hook.test.mjs:8", "shortDescription": {"text": "Commented-code block (5 lines) in test/plugin-hook.test.mjs: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-23744be5ff6e5b59", "name": "Commented-code block (5 lines) in test/render.test.mjs:94", "shortDescription": {"text": "Commented-code block (5 lines) in test/render.test.mjs:94"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-26083aeb3ef132e4", "name": "Commented-code block (5 lines) in test/doctor.test.mjs:170", "shortDescription": {"text": "Commented-code block (5 lines) in test/doctor.test.mjs: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-30da0a1cd867060e", "name": "Commented-code block (5 lines) in test/new.test.mjs:407", "shortDescription": {"text": "Commented-code block (5 lines) in test/new.test.mjs:407"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ca76bb9c708f7bec", "name": "Commented-code block (10 lines) in test/hud.test.mjs:49", "shortDescription": {"text": "Commented-code block (10 lines) in test/hud.test.mjs:49"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dcb96371bd454f31", "name": "Commented-code block (6 lines) in test/index.test.mjs:147", "shortDescription": {"text": "Commented-code block (6 lines) in test/index.test.mjs:147"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-29cb5443b7ed4a42", "name": "Commented-code block (5 lines) in test/validate.test.mjs:440", "shortDescription": {"text": "Commented-code block (5 lines) in test/validate.test.mjs:440"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0297598d624379d", "name": "Commented-code block (5 lines) in test/pickup-card.test.mjs:203", "shortDescription": {"text": "Commented-code block (5 lines) in test/pickup-card.test.mjs:203"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-847ba4c833d668dc", "name": "Commented-code block (6 lines) in test/lifecycle.test.mjs:449", "shortDescription": {"text": "Commented-code block (6 lines) in test/lifecycle.test.mjs:449"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-29bedfe3befaa3c4", "name": "Commented-code block (8 lines) in scripts/postinstall.mjs:6", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/postinstall.mjs:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3dd465ba7e679352", "name": "Commented-code block (6 lines) in scripts/sync-plugin-version.mjs:3", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/sync-plugin-version.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-414aea899f1fb527", "name": "Commented-code block (6 lines) in src/config-edit.mjs:6", "shortDescription": {"text": "Commented-code block (6 lines) in src/config-edit.mjs:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7058e7e508529d6f", "name": "Commented-code block (6 lines) in src/render.mjs:84", "shortDescription": {"text": "Commented-code block (6 lines) in src/render.mjs:84"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f756f22393bfc987", "name": "Commented-code block (7 lines) in src/journal.mjs:188", "shortDescription": {"text": "Commented-code block (7 lines) in src/journal.mjs:188"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-540413806388e517", "name": "Commented-code block (5 lines) in src/lint.mjs:70", "shortDescription": {"text": "Commented-code block (5 lines) in src/lint.mjs: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-7a6d39f376bf1360", "name": "Commented-code block (11 lines) in src/index-file.mjs:93", "shortDescription": {"text": "Commented-code block (11 lines) in src/index-file.mjs:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-363746dc137a6922", "name": "Commented-code block (7 lines) in src/frontmatter.mjs:30", "shortDescription": {"text": "Commented-code block (7 lines) in src/frontmatter.mjs:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3523f67513f801fb", "name": "Commented-code block (7 lines) in src/new.mjs:104", "shortDescription": {"text": "Commented-code block (7 lines) in src/new.mjs:104"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af382f48da0d8804", "name": "Commented-code block (5 lines) in src/prompts.mjs:99", "shortDescription": {"text": "Commented-code block (5 lines) in src/prompts.mjs: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-9cb403a4ae2a4842", "name": "Commented-code block (5 lines) in src/check-collapse.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/check-collapse.mjs:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-464a2aa5d81aba0e", "name": "Commented-code block (5 lines) in src/statuses.mjs:4", "shortDescription": {"text": "Commented-code block (5 lines) in src/statuses.mjs: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-5803507499f44eba", "name": "Commented-code block (5 lines) in src/surfaces.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/surfaces.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-1501b8551ffb9efb", "name": "Commented-code block (8 lines) in src/init.mjs:15", "shortDescription": {"text": "Commented-code block (8 lines) in src/init.mjs:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7e2f64e2cd6d6d6c", "name": "Commented-code block (8 lines) in src/hud.mjs:16", "shortDescription": {"text": "Commented-code block (8 lines) in src/hud.mjs:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa40f4f8d3f0ff39", "name": "Commented-code block (6 lines) in src/git.mjs:5", "shortDescription": {"text": "Commented-code block (6 lines) in src/git.mjs: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-c68797614f403a78", "name": "Commented-code block (6 lines) in src/modules.mjs:8", "shortDescription": {"text": "Commented-code block (6 lines) in src/modules.mjs: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-d0ad0e8906e21929", "name": "Commented-code block (8 lines) in src/validate.mjs:8", "shortDescription": {"text": "Commented-code block (8 lines) in src/validate.mjs: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-0a71960ac26d014f", "name": "Commented-code block (5 lines) in src/util.mjs:68", "shortDescription": {"text": "Commented-code block (5 lines) in src/util.mjs:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-09798438ffd08a68", "name": "Commented-code block (5 lines) in src/frontmatter-fix.mjs:165", "shortDescription": {"text": "Commented-code block (5 lines) in src/frontmatter-fix.mjs:165"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-277879221b29d914", "name": "Commented-code block (7 lines) in src/use.mjs:8", "shortDescription": {"text": "Commented-code block (7 lines) in src/use.mjs: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-4e6d2d0f58cb4148", "name": "Legacy-named symbol `dotSlashOld` in src/lifecycle.mjs:776", "shortDescription": {"text": "Legacy-named symbol `dotSlashOld` in src/lifecycle.mjs:776"}, "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-c2766875d80a8776", "name": "Commented-code block (6 lines) in src/lifecycle.mjs:35", "shortDescription": {"text": "Commented-code block (6 lines) in src/lifecycle.mjs:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5e93c0d93319c3b9", "name": "Commented-code block (5 lines) in src/config.mjs:66", "shortDescription": {"text": "Commented-code block (5 lines) in src/config.mjs:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5280ca522da6d455", "name": "Commented-code block (6 lines) in src/guard.mjs:10", "shortDescription": {"text": "Commented-code block (6 lines) in src/guard.mjs: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-b0c2aae0d1ecb692", "name": "Commented-code block (6 lines) in src/baton.mjs:11", "shortDescription": {"text": "Commented-code block (6 lines) in src/baton.mjs:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb2f887417df248e", "name": "Commented-code block (7 lines) in src/claude-commands.mjs:4", "shortDescription": {"text": "Commented-code block (7 lines) in src/claude-commands.mjs: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-91f0b01dddf8c45f", "name": "Commented-code block (6 lines) in src/index.mjs:11", "shortDescription": {"text": "Commented-code block (6 lines) in src/index.mjs:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8146ec3f8299b8cd", "name": "Commented-code block (7 lines) in src/pickup-card.mjs:32", "shortDescription": {"text": "Commented-code block (7 lines) in src/pickup-card.mjs:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-692a6eaec714aabd", "name": "Commented-code block (5 lines) in src/doctor.mjs:23", "shortDescription": {"text": "Commented-code block (5 lines) in src/doctor.mjs:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8d94a13c0e652d23", "name": "Commented-code block (5 lines) in src/bulk-tag.mjs:9", "shortDescription": {"text": "Commented-code block (5 lines) in src/bulk-tag.mjs: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-225d48e453b0b095", "name": "Commented-code block (6 lines) in src/hints.mjs:5", "shortDescription": {"text": "Commented-code block (6 lines) in src/hints.mjs: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}}]}}, "automationDetails": {"id": "repobility/18032"}, "properties": {"repository": "reowens/dotmd", "repoUrl": "https://github.com/reowens/dotmd", "branch": "main"}, "results": [{"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-bd2fe34c416db51b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/postinstall.mjs:14"}, "properties": {"repobilityId": "45e8101532ed445d", "scanner": "scanner-primary", "fingerprint": "bd2fe34c416db51b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/postinstall.mjs"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-4cc66e07625b760a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/update.mjs:1"}, "properties": {"repobilityId": "bbaad0339a89fe04", "scanner": "scanner-primary", "fingerprint": "4cc66e07625b760a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/update.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b9844bc865560ce7", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/ship.mjs:2"}, "properties": {"repobilityId": "d7c2715b66461311", "scanner": "scanner-primary", "fingerprint": "b9844bc865560ce7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/ship.mjs"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-71ffa5b0ad846f87", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/init.mjs:2"}, "properties": {"repobilityId": "7eff264cf0764333", "scanner": "scanner-primary", "fingerprint": "71ffa5b0ad846f87", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/init.mjs"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-3c2f72e262d7e8e4", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/git.mjs:1"}, "properties": {"repobilityId": "7adf5c6d7d276a5f", "scanner": "scanner-primary", "fingerprint": "3c2f72e262d7e8e4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/git.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-47e55aea7ded5111", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/ai.mjs:1"}, "properties": {"repobilityId": "a99d6b690338f23c", "scanner": "scanner-primary", "fingerprint": "47e55aea7ded5111", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/ai.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-76725911c04d37a2", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/watch.mjs:2"}, "properties": {"repobilityId": "3ac8dcbfbc697860", "scanner": "scanner-primary", "fingerprint": "76725911c04d37a2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/watch.mjs"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-7ffa33751be3d771", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "491a3ad29cbaf189", "scanner": "scanner-primary", "fingerprint": "7ffa33751be3d771", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publish.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "edeab51902066991", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-27ff2c715cd866cb", "level": "note", "message": {"text": "Very large file: test/lifecycle.test.mjs (1077 lines)"}, "properties": {"repobilityId": "bd6561558c14f2df", "scanner": "scanner-primary", "fingerprint": "27ff2c715cd866cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "220e00a13614a5a7", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "f2a1385752f710b7", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "30df6ed33faae2d4", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-24f2ea4bd14badc1", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: CLAUDE.md"}, "properties": {"repobilityId": "0f6049734704e537", "scanner": "scanner-primary", "fingerprint": "24f2ea4bd14badc1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 190}}}]}, {"ruleId": "scanner-2fc8040f35833685", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: plugins/dotmd/skills/dotmd/SKILL.md"}, "properties": {"repobilityId": "43ef18231d1b871b", "scanner": "scanner-primary", "fingerprint": "2fc8040f35833685", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/dotmd/skills/dotmd/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-905df964e612f70d", "level": "none", "message": {"text": "Commented-code block (12 lines) in dotmd.config.example.mjs:23"}, "properties": {"repobilityId": "55a568fe37a6c3c8", "scanner": "scanner-primary", "fingerprint": "905df964e612f70d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-629853cca934e3b2", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/graph.test.mjs:368"}, "properties": {"repobilityId": "97496b3aaa53faf7", "scanner": "scanner-primary", "fingerprint": "629853cca934e3b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-163c21401631d433", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/init.test.mjs:12"}, "properties": {"repobilityId": "44c9236d47b9a566", "scanner": "scanner-primary", "fingerprint": "163c21401631d433", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-282f46afe1ea52ac", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/plugin-hook.test.mjs:8"}, "properties": {"repobilityId": "9635d191518ec71a", "scanner": "scanner-primary", "fingerprint": "282f46afe1ea52ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-23744be5ff6e5b59", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/render.test.mjs:94"}, "properties": {"repobilityId": "2a0ac1c5ab93daa6", "scanner": "scanner-primary", "fingerprint": "23744be5ff6e5b59", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-26083aeb3ef132e4", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/doctor.test.mjs:170"}, "properties": {"repobilityId": "9c389e5abcf14136", "scanner": "scanner-primary", "fingerprint": "26083aeb3ef132e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30da0a1cd867060e", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/new.test.mjs:407"}, "properties": {"repobilityId": "9fb3044f21dec127", "scanner": "scanner-primary", "fingerprint": "30da0a1cd867060e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca76bb9c708f7bec", "level": "none", "message": {"text": "Commented-code block (10 lines) in test/hud.test.mjs:49"}, "properties": {"repobilityId": "f5bfd1435a2780ed", "scanner": "scanner-primary", "fingerprint": "ca76bb9c708f7bec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dcb96371bd454f31", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/index.test.mjs:147"}, "properties": {"repobilityId": "4400d552acbee9a4", "scanner": "scanner-primary", "fingerprint": "dcb96371bd454f31", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29cb5443b7ed4a42", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/validate.test.mjs:440"}, "properties": {"repobilityId": "43a4f14d1ad7d633", "scanner": "scanner-primary", "fingerprint": "29cb5443b7ed4a42", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0297598d624379d", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/pickup-card.test.mjs:203"}, "properties": {"repobilityId": "71c2c6311e53a9d0", "scanner": "scanner-primary", "fingerprint": "e0297598d624379d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-847ba4c833d668dc", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/lifecycle.test.mjs:449"}, "properties": {"repobilityId": "7e93cb9e72e34b4d", "scanner": "scanner-primary", "fingerprint": "847ba4c833d668dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29bedfe3befaa3c4", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/postinstall.mjs:6"}, "properties": {"repobilityId": "db4897e145d16716", "scanner": "scanner-primary", "fingerprint": "29bedfe3befaa3c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3dd465ba7e679352", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/sync-plugin-version.mjs:3"}, "properties": {"repobilityId": "25419e60776c061b", "scanner": "scanner-primary", "fingerprint": "3dd465ba7e679352", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-414aea899f1fb527", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/config-edit.mjs:6"}, "properties": {"repobilityId": "c3d11d29d3d94d1b", "scanner": "scanner-primary", "fingerprint": "414aea899f1fb527", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7058e7e508529d6f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/render.mjs:84"}, "properties": {"repobilityId": "83d060eb322c6142", "scanner": "scanner-primary", "fingerprint": "7058e7e508529d6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f756f22393bfc987", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/journal.mjs:188"}, "properties": {"repobilityId": "e72e6f6e259aafa2", "scanner": "scanner-primary", "fingerprint": "f756f22393bfc987", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-540413806388e517", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lint.mjs:70"}, "properties": {"repobilityId": "6f6bff269fe9ea17", "scanner": "scanner-primary", "fingerprint": "540413806388e517", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a6d39f376bf1360", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/index-file.mjs:93"}, "properties": {"repobilityId": "a826d94f3e69042e", "scanner": "scanner-primary", "fingerprint": "7a6d39f376bf1360", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-363746dc137a6922", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/frontmatter.mjs:30"}, "properties": {"repobilityId": "4a848f3080efe44b", "scanner": "scanner-primary", "fingerprint": "363746dc137a6922", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3523f67513f801fb", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/new.mjs:104"}, "properties": {"repobilityId": "fbdc14f8de87a0a4", "scanner": "scanner-primary", "fingerprint": "3523f67513f801fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af382f48da0d8804", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/prompts.mjs:99"}, "properties": {"repobilityId": "09c7913898658276", "scanner": "scanner-primary", "fingerprint": "af382f48da0d8804", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9cb403a4ae2a4842", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/check-collapse.mjs:1"}, "properties": {"repobilityId": "34605fa238291b02", "scanner": "scanner-primary", "fingerprint": "9cb403a4ae2a4842", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-464a2aa5d81aba0e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/statuses.mjs:4"}, "properties": {"repobilityId": "f2716b094e156e14", "scanner": "scanner-primary", "fingerprint": "464a2aa5d81aba0e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5803507499f44eba", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/surfaces.mjs:3"}, "properties": {"repobilityId": "d9d5f0ecd185cca7", "scanner": "scanner-primary", "fingerprint": "5803507499f44eba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1501b8551ffb9efb", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/init.mjs:15"}, "properties": {"repobilityId": "81516c147adf50dd", "scanner": "scanner-primary", "fingerprint": "1501b8551ffb9efb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e2f64e2cd6d6d6c", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/hud.mjs:16"}, "properties": {"repobilityId": "3bd957c4bc3c9428", "scanner": "scanner-primary", "fingerprint": "7e2f64e2cd6d6d6c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa40f4f8d3f0ff39", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/git.mjs:5"}, "properties": {"repobilityId": "9297a3d970502c2c", "scanner": "scanner-primary", "fingerprint": "aa40f4f8d3f0ff39", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c68797614f403a78", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/modules.mjs:8"}, "properties": {"repobilityId": "30bfbd15ae13d043", "scanner": "scanner-primary", "fingerprint": "c68797614f403a78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0ad0e8906e21929", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/validate.mjs:8"}, "properties": {"repobilityId": "291ba0e6b5f45cfe", "scanner": "scanner-primary", "fingerprint": "d0ad0e8906e21929", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a71960ac26d014f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/util.mjs:68"}, "properties": {"repobilityId": "e4e127246d13f7e1", "scanner": "scanner-primary", "fingerprint": "0a71960ac26d014f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09798438ffd08a68", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/frontmatter-fix.mjs:165"}, "properties": {"repobilityId": "d8f419915d4ba762", "scanner": "scanner-primary", "fingerprint": "09798438ffd08a68", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-277879221b29d914", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/use.mjs:8"}, "properties": {"repobilityId": "fa113558a2f3b59b", "scanner": "scanner-primary", "fingerprint": "277879221b29d914", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e6d2d0f58cb4148", "level": "note", "message": {"text": "Legacy-named symbol `dotSlashOld` in src/lifecycle.mjs:776"}, "properties": {"repobilityId": "9293be212925eb0f", "scanner": "scanner-primary", "fingerprint": "4e6d2d0f58cb4148", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c2766875d80a8776", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lifecycle.mjs:35"}, "properties": {"repobilityId": "36305a2eb0c790ad", "scanner": "scanner-primary", "fingerprint": "c2766875d80a8776", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e93c0d93319c3b9", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/config.mjs:66"}, "properties": {"repobilityId": "475401dd0c3f93bd", "scanner": "scanner-primary", "fingerprint": "5e93c0d93319c3b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5280ca522da6d455", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/guard.mjs:10"}, "properties": {"repobilityId": "60389f015e8cedd1", "scanner": "scanner-primary", "fingerprint": "5280ca522da6d455", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0c2aae0d1ecb692", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/baton.mjs:11"}, "properties": {"repobilityId": "ac9df240055c925c", "scanner": "scanner-primary", "fingerprint": "b0c2aae0d1ecb692", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb2f887417df248e", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/claude-commands.mjs:4"}, "properties": {"repobilityId": "ac6fb958123ac412", "scanner": "scanner-primary", "fingerprint": "fb2f887417df248e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-91f0b01dddf8c45f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/index.mjs:11"}, "properties": {"repobilityId": "1eadb637d5000ff1", "scanner": "scanner-primary", "fingerprint": "91f0b01dddf8c45f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8146ec3f8299b8cd", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/pickup-card.mjs:32"}, "properties": {"repobilityId": "2b93c498a4cfdcc1", "scanner": "scanner-primary", "fingerprint": "8146ec3f8299b8cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-692a6eaec714aabd", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/doctor.mjs:23"}, "properties": {"repobilityId": "da34251721e6e628", "scanner": "scanner-primary", "fingerprint": "692a6eaec714aabd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8d94a13c0e652d23", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/bulk-tag.mjs:9"}, "properties": {"repobilityId": "19f924e50ebccef0", "scanner": "scanner-primary", "fingerprint": "8d94a13c0e652d23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-225d48e453b0b095", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/hints.mjs:5"}, "properties": {"repobilityId": "8dad0855b730ae58", "scanner": "scanner-primary", "fingerprint": "225d48e453b0b095", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}