{
  "version": 1,
  "capturedAt": "2026-08-06T21:39:13.603Z",
  "tool": {
    "name": "aislop",
    "version": "0.13.1",
    "reportSchemaVersion": "1",
    "scope": "full-project"
  },
  "minimumScore": 69,
  "minimumSupportedFiles": 137,
  "totalFindings": 18,
  "engines": {
    "ai-slop": 2,
    "code-quality": 14,
    "lint": 2
  },
  "findings": {
    ".pi/extensions/checkpoint/subagent.ts\u001fai-slop\u001fai-slop/todo-stub\u001finfo\u001fUnresolved TODO/FIXME/HACK comment indicates incomplete code": {
      "count": 1,
      "filePath": ".pi/extensions/checkpoint/subagent.ts",
      "engine": "ai-slop",
      "rule": "ai-slop/todo-stub",
      "severity": "info",
      "message": "Unresolved TODO/FIXME/HACK comment indicates incomplete code"
    },
    ".pi/extensions/dcp/legacy-attestation.ts\u001fcode-quality\u001fcode-quality/duplicate-block\u001fwarning\u001fDuplicate code block — extract a shared helper": {
      "count": 1,
      "filePath": ".pi/extensions/dcp/legacy-attestation.ts",
      "engine": "code-quality",
      "rule": "code-quality/duplicate-block",
      "severity": "warning",
      "message": "Duplicate code block — extract a shared helper"
    },
    ".pi/extensions/learning-coordinator/source-ports.ts\u001fcode-quality\u001fcomplexity/deep-nesting\u001fwarning\u001fFunction nested too deeply (max: 5)": {
      "count": 1,
      "filePath": ".pi/extensions/learning-coordinator/source-ports.ts",
      "engine": "code-quality",
      "rule": "complexity/deep-nesting",
      "severity": "warning",
      "message": "Function nested too deeply (max: 5)"
    },
    ".pi/extensions/safety/context.ts\u001fai-slop\u001fai-slop/meta-comment\u001fwarning\u001fMeta/plan comment (before/after state narration)": {
      "count": 1,
      "filePath": ".pi/extensions/safety/context.ts",
      "engine": "ai-slop",
      "rule": "ai-slop/meta-comment",
      "severity": "warning",
      "message": "Meta/plan comment (before/after state narration)"
    },
    ".pi/extensions/safety/extension.ts\u001flint\u001feslint/no-empty\u001fwarning\u001fUnexpected empty block statements": {
      "count": 2,
      "filePath": ".pi/extensions/safety/extension.ts",
      "engine": "lint",
      "rule": "eslint/no-empty",
      "severity": "warning",
      "message": "Unexpected empty block statements"
    },
    ".pi/extensions/safety/rules/credentials.ts\u001fcode-quality\u001fcode-quality/duplicate-block\u001fwarning\u001fDuplicate code block — extract a shared helper": {
      "count": 4,
      "filePath": ".pi/extensions/safety/rules/credentials.ts",
      "engine": "code-quality",
      "rule": "code-quality/duplicate-block",
      "severity": "warning",
      "message": "Duplicate code block — extract a shared helper"
    },
    ".pi/extensions/safety/rules/destructive.ts\u001fcode-quality\u001fcode-quality/duplicate-block\u001fwarning\u001fDuplicate code block — extract a shared helper": {
      "count": 3,
      "filePath": ".pi/extensions/safety/rules/destructive.ts",
      "engine": "code-quality",
      "rule": "code-quality/duplicate-block",
      "severity": "warning",
      "message": "Duplicate code block — extract a shared helper"
    },
    ".pi/extensions/safety/rules/git.ts\u001fcode-quality\u001fcode-quality/duplicate-block\u001fwarning\u001fDuplicate code block — extract a shared helper": {
      "count": 5,
      "filePath": ".pi/extensions/safety/rules/git.ts",
      "engine": "code-quality",
      "rule": "code-quality/duplicate-block",
      "severity": "warning",
      "message": "Duplicate code block — extract a shared helper"
    }
  }
}
