Skip to content

Make peer SQL, type, and ORM parity a required release gate #51

Open

Description

@ORESoftware

Goal

Wire the peer-authority certifier into real repository and aggregate release workflows. The current branch proves the report protocol; this issue connects it to generated artifacts and supported databases.

Required behavior

  1. Generate TypeSpec and JSON Schema/OpenAPI lanes independently.
  2. Materialize both SQL candidates in exact-version PostgreSQL and CockroachDB shadows.
  3. Compare DPM catalogs and preserve complete discrepancy evidence.
  4. Compare canonical type/operation manifests.
  5. Generate Diesel and SeaORM projections only after contract parity succeeds.
  6. Compare ORM manifests and shared query/effect fixtures.
  7. Bind all input, tool, catalog, manifest, fixture, and report digests into release evidence.
  8. Block migration apply, package/client publication, and evidence promotion unless every stage says proceed.

Pause/evaluate workflow

  • Exit with a dedicated non-success status.
  • Persist a bounded machine-readable report even for missing files or generator failures.
  • Open or update a discrepancy issue keyed by stable semantic path and input digests.
  • Require an explicit evaluation record before closing the discrepancy.
  • Regenerate both lanes and both ORMs from clean inputs after a correction.
  • Never authorize a one-sided override or copy one generated output onto the other.

Acceptance evidence

Required checks exercise agreement plus injected SQL, type, nullability, enum, key, default, relationship, missing-input, and generator-crash discrepancies. Every discrepancy blocks a simulated release and leaves immutable evidence.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions