Skip to content

Compliance Templates — Slice 5: blocking publish enforcement #712

Description

@larsgeorge-db

Parent PRD

#676

What to build

Turn the completeness validator (#710) into blocking enforcement at publish, while keeping routine edits frictionless. Wire the check explicitly into the publish path, next to the existing inline validation in data_products_manager.publish_product() — which raises ValueError that the route converts to HTTP 400 (the symmetry model). On failure, publication is refused with the list of missing mandatory fields; the owner fixes them and retries. Editing unrelated product fields must never be blocked by pending compliance fields.

Single on_publish enforcement point in v1; no per-field enforcement knob. See PRD Enforcement and Integration.

Acceptance criteria

  • Publishing a product with unmet mandatory compliance fields is refused
  • The refusal surfaces the explicit list of missing mandatory fields
  • Fixing the fields and retrying allows publication to proceed
  • Products that pass completeness publish normally
  • Routine (unrelated) product edits are never blocked by pending compliance fields
  • Enforcement is wired at the publish call site next to the existing validation (ValueError → HTTP 400 pattern)

Blocked by

User stories addressed

  • User story 20
  • User story 21

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions