Context
This issue tracks Task 6 from docs/superpowers/plans/2026-06-11-postgresql-libpg-query-compatibility.md and follows #48.
Goal
Implement baseline transition evaluation and deterministic pull-request case generation for the PostgreSQL compatibility harness.
Implemented
- Added
scripts/pg_compat/baseline.py.
- Added
tests/pg_compat/test_baseline.py.
- Added
transition_allowed(previous, current) with the complete six-result policy.
- Added
evaluate_baseline(previous_rows, current_rows) with deterministic allowed, regressions, review_required, new_cases, and missing_ids output.
- Added
build_ci_cases(inventory_rows, release_delta_rows, witness_rows).
- Added atomic, sorted JSONL publication through
write_ci_cases(path, cases).
- Added duplicate-ID, conflicting-case, invalid-result, missing-SQL, input-order, and input-mutation validation coverage.
Transition policy
Allowed transitions:
- unchanged result
- any result to
DEEP_SUPPORTED
PARTIAL, ERROR, TRAILING_INPUT, or TYPE_MISMATCH to CLASSIFIED_ONLY
Disallowed support-level drops are reported as regressions. Other disallowed result changes are reported as review-required. Unknown current IDs require baseline refresh; missing IDs are reported separately.
CI case selection
The generated set deterministically includes:
- every known non-
DEEP_SUPPORTED result
- every release-delta statement
- every reviewed witness
- one
DEEP_SUPPORTED and one CLASSIFIED_ONLY example per oracle node where available
Cases are deduplicated, sorted by statement ID, retain complete SQL, and include expected_result.
Verification
Status
Implementation is complete on PR #50. The issue will close when that PR merges.
Context
This issue tracks Task 6 from
docs/superpowers/plans/2026-06-11-postgresql-libpg-query-compatibility.mdand follows #48.Goal
Implement baseline transition evaluation and deterministic pull-request case generation for the PostgreSQL compatibility harness.
Implemented
scripts/pg_compat/baseline.py.tests/pg_compat/test_baseline.py.transition_allowed(previous, current)with the complete six-result policy.evaluate_baseline(previous_rows, current_rows)with deterministicallowed,regressions,review_required,new_cases, andmissing_idsoutput.build_ci_cases(inventory_rows, release_delta_rows, witness_rows).write_ci_cases(path, cases).Transition policy
Allowed transitions:
DEEP_SUPPORTEDPARTIAL,ERROR,TRAILING_INPUT, orTYPE_MISMATCHtoCLASSIFIED_ONLYDisallowed support-level drops are reported as regressions. Other disallowed result changes are reported as review-required. Unknown current IDs require baseline refresh; missing IDs are reported separately.
CI case selection
The generated set deterministically includes:
DEEP_SUPPORTEDresultDEEP_SUPPORTEDand oneCLASSIFIED_ONLYexample per oracle node where availableCases are deduplicated, sorted by statement ID, retain complete SQL, and include
expected_result.Verification
bcc707b feat: enforce PostgreSQL compatibility baselinesStatus
Implementation is complete on PR #50. The issue will close when that PR merges.