{
  "audit": "Phase 15 dependency-free static repository audit",
  "finding_counts": {
    "High": 4,
    "Medium": 7
  },
  "findings": [
    {
      "code": "ci_integration_suite_omitted",
      "message": "CI does not execute the demo-service integration suite.",
      "path": ".github/workflows/ci.yml",
      "severity": "High"
    },
    {
      "code": "issue_register_overflow",
      "message": "One or more issue-register rows contain overflow columns.",
      "path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv",
      "severity": "High"
    },
    {
      "code": "malformed_csv",
      "line": 43,
      "message": "Expected 9 columns, found 11.",
      "path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv",
      "severity": "High"
    },
    {
      "code": "malformed_csv",
      "line": 11,
      "message": "Expected 11 columns, found 10.",
      "path": "docs/quality/PHASE_14_MANUAL_QA_RESULTS_v1.0.csv",
      "severity": "High"
    },
    {
      "code": "loose_content_type_match",
      "message": "JSON API still uses a prefix media-type check.",
      "path": "src/",
      "severity": "Medium"
    },
    {
      "code": "content_type_helper_not_used",
      "message": "Demo API does not use exact JSON media-type validation.",
      "path": "src/app/api/demo/route.ts",
      "severity": "Medium"
    },
    {
      "code": "missing_exact_content_type_control",
      "message": "Exact application/json media-type helper is absent.",
      "path": "src/lib/security/content-type.ts",
      "severity": "Medium"
    },
    {
      "code": "stale_theme_storage_key",
      "message": "Visual test writes a storage key the application never reads.",
      "path": "tests/visual/component-system.visual.spec.ts",
      "severity": "Medium"
    },
    {
      "code": "theme_storage_key_missing",
      "message": "Visual test does not use the canonical theme storage key.",
      "path": "tests/visual/component-system.visual.spec.ts",
      "severity": "Medium"
    },
    {
      "code": "visual_project_scope",
      "message": "Canonical snapshot test is not restricted to Chromium.",
      "path": "tests/visual/component-system.visual.spec.ts",
      "severity": "Medium"
    },
    {
      "code": "visual_project_scope",
      "message": "Canonical integration snapshots are not restricted to Chromium.",
      "path": "tests/visual/integrations.visual.spec.ts",
      "severity": "Medium"
    }
  ],
  "metrics": {
    "csv_files_parsed": 44,
    "direct_dependencies_exact": true,
    "direct_dependency_count": 25,
    "email_fixture_hits": [
      {
        "address": "avery@example.test",
        "line": 21,
        "path": "tests/integration/demo-service.test.ts"
      },
      {
        "address": "ADA@EXAMPLE.TEST",
        "line": 6,
        "path": "tests/unit/integrations/demo-schema.test.ts"
      },
      {
        "address": "ada@example.test",
        "line": 22,
        "path": "tests/unit/integrations/demo-schema.test.ts"
      },
      {
        "address": "person@example.test",
        "line": 20,
        "path": "tests/unit/integrations/analytics.test.ts"
      },
      {
        "address": "person@example.test",
        "line": 9,
        "path": "tests/unit/integrations/redaction.test.ts"
      },
      {
        "address": "avery@example.test",
        "line": 36,
        "path": "tests/browser/integrations/demo-workflow.spec.ts"
      },
      {
        "address": "avery@example.test",
        "line": 53,
        "path": "tests/browser/integrations/demo-workflow.spec.ts"
      },
      {
        "address": "private@example.test",
        "line": 66,
        "path": "tests/browser/integrations/demo-workflow.spec.ts"
      },
      {
        "address": "name@fictional.invalid",
        "line": 47,
        "path": "src/content/development/component-lab.ts"
      },
      {
        "address": "nom@fictif.invalid",
        "line": 158,
        "path": "src/content/development/component-lab.ts"
      },
      {
        "address": "name@fictional.invalid",
        "line": 281,
        "path": "src/content/development/component-lab.ts"
      }
    ],
    "file_count": 467,
    "issue_register_path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv",
    "issue_register_rows": 42,
    "json_files_parsed": 41,
    "release_gate_path": "docs/phase14/RELEASE_GATE_MATRIX_v1.0.csv",
    "release_gate_status_counts": {
      "Blocked": 4,
      "Blocked by validator": 1,
      "Environment blocked": 2,
      "Open": 1,
      "Partial": 2
    },
    "runtime_url_hits": [
      {
        "line": 2,
        "path": ".env.example",
        "url": "https://your-approved-domain.example"
      },
      {
        "line": 6,
        "path": "src/lib/localization/site-origin.ts",
        "url": "http://localhost:3000"
      },
      {
        "line": 2,
        "path": "src/contracts/phase9/design-tokens.json",
        "url": "https://design-tokens.github.io/community-group/format/"
      }
    ],
    "secret_scan_files": 378,
    "suffix_counts": {
      ".css": 48,
      ".csv": 44,
      ".duration": 8,
      ".example": 1,
      ".exit": 20,
      ".js": 1,
      ".json": 41,
      ".log": 45,
      ".md": 57,
      ".mjs": 33,
      ".png": 6,
      ".svg": 2,
      ".ts": 74,
      ".tsx": 66,
      ".txt": 8,
      ".yaml": 2,
      ".yml": 2,
      "<none>": 9
    },
    "total_bytes": 2182586,
    "unresolved_issue_counts": {
      "Critical": 1,
      "High": 20,
      "Low": 2,
      "Medium": 17
    }
  },
  "passed": false,
  "root": "/mnt/data/phase14_baseline",
  "schema_version": "1.0"
}
