# Phase 15 Static Repository Audit

- Result: **FAIL**
- Files inspected: 467
- JSON files parsed: 41
- CSV files parsed: 44
- Secret-scan files: 378
- Findings: {"High": 4, "Medium": 7}

## Findings

| Severity | Code                                 | Path                                               | Line | Finding                                                         |
| -------- | ------------------------------------ | -------------------------------------------------- | ---: | --------------------------------------------------------------- |
| High     | `ci_integration_suite_omitted`       | `.github/workflows/ci.yml`                         |      | CI does not execute the demo-service integration suite.         |
| High     | `issue_register_overflow`            | `docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv`      |      | One or more issue-register rows contain overflow columns.       |
| High     | `malformed_csv`                      | `docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv`      |   43 | Expected 9 columns, found 11.                                   |
| High     | `malformed_csv`                      | `docs/quality/PHASE_14_MANUAL_QA_RESULTS_v1.0.csv` |   11 | Expected 11 columns, found 10.                                  |
| Medium   | `loose_content_type_match`           | `src/`                                             |      | JSON API still uses a prefix media-type check.                  |
| Medium   | `content_type_helper_not_used`       | `src/app/api/demo/route.ts`                        |      | Demo API does not use exact JSON media-type validation.         |
| Medium   | `missing_exact_content_type_control` | `src/lib/security/content-type.ts`                 |      | Exact application/json media-type helper is absent.             |
| Medium   | `stale_theme_storage_key`            | `tests/visual/component-system.visual.spec.ts`     |      | Visual test writes a storage key the application never reads.   |
| Medium   | `theme_storage_key_missing`          | `tests/visual/component-system.visual.spec.ts`     |      | Visual test does not use the canonical theme storage key.       |
| Medium   | `visual_project_scope`               | `tests/visual/component-system.visual.spec.ts`     |      | Canonical snapshot test is not restricted to Chromium.          |
| Medium   | `visual_project_scope`               | `tests/visual/integrations.visual.spec.ts`         |      | Canonical integration snapshots are not restricted to Chromium. |

## Metrics

```json
{
  "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
  }
}
```
