# Skewcheck: 🛑 INCONCLUSIVE — experiment could not complete

> **Question:** does the previous application version still work against the proposed database schema?

The experiment could not produce a trustworthy result. This is not a pass.

| | |
|---|---|
| Project | fixture/E2-broken-migration |
| Execution | `example-E2-broken-migration` |
| Baseline (old app) | `shop-v1` |
| Candidate | `E2-broken-migration` |
| PostgreSQL | 16.15 (Debian 16.15-1.pgdg12+2) |
| Proposed migration(s) | `002_broken.sql` |
| Gate | **blocking** (exit 2) |
| Experiment complete | no |

## Why
- Proposed migration 002_broken.sql failed to apply (42P01 relation "customer" does not exist).

## Recommended next action
Fix the infrastructure or baseline problem listed in the reasons and re-run. Do not merge on this result.

## Evidence
### infrastructure
**Observed:**
- Proposed migration 002_broken.sql failed to apply (42P01 relation "customer" does not exist).
**Interpretation:** The experiment could not support a trustworthy determination.

## Schema changes (catalog diff)
_No catalog-level changes detected._

**Coverage:** The proposed migration produced no catalog-level schema changes.

## Runs
| Run | Migrations | Tests (pass/fail/other) | DB errors | Statements |
|---|---|---|---|---|
| control (old app × baseline schema) | 1/1 applied | 2/0/0 | 0 | 7 |
| candidate #1 (old app × proposed schema) | 1/2 applied | 0/0/0 | 0 | 0 |
| candidate #2 (old app × proposed schema) | 1/2 applied | 0/0/0 | 0 | 0 |

## Skipped checks
- Current application × proposed schema (no current app configured).
- Differential analysis and coverage were not trusted because the experiment was incomplete.
- Performance / lock-time analysis (out of scope).

## Limitations
- Skewcheck only observes code paths that the old application's tests execute; untested paths are reported as coverage gaps, not as safe.
- Coverage is identifier-level: a statement "touches" a changed object when it names the table (and column, or uses *). It is not a SQL parser.
- Correlation between an error and a schema change uses a fixed set of deterministic rules (R1–R6). Anything else is reported as ADVISORY, never UNSAFE.
- Performance, locking and migration runtime on production-sized data are not evaluated.
- Test files of one run share a database and run sequentially; ordering effects are identical across runs but are not isolated.
- Data-only migration effects are detected only when a test asserts on the affected data.

<sub>skewcheck 0.1.0 · report schema v1 · 2026-10-24T18:29:59.968Z</sub>