Metadata-Version: 2.4
Name: pre-public-qc-contract
Version: 0.5.0
Summary: Pre Publish QC Python contract models.
Requires-Python: >=3.11
Requires-Dist: pydantic<3,>=2.8
Description-Content-Type: text/markdown

# pre-public-qc-contract

Python contract models for the Pre Publish QC API boundary.

The OpenAPI document in `../../openapi/openapi.yaml` is the source of truth. This package exposes Pydantic v2 models for backend request/response boundaries and must be consumed as a package rather than copied into application code.

## Scope

This package describes Pre Publish QC business API models only. Shared task queue paths, schemas, and generated models remain in the shared task queue contract package; do not copy them into this package. If a unified OpenAPI document is needed for publication, build it by composing or referencing the Pre Publish QC contract and the shared task queue contract at build time.

API-facing file and artifact references are opaque ids or URLs. Response models must not expose local filesystem fields such as `stored_path`, absolute paths, or root-relative artifact paths.

Pre Publish QC owns business task submission APIs, business validation, task type semantics, and result persistence. Shared runtime tracking, cancellation, retry, events, and artifacts stay in the shared task queue contract and implementation packages; clients should not submit Pre Publish QC business work directly to the shared task queue API.

Project-level Skills installation is exposed through Pre Publish QC business API shapes keyed by `project_id`. These models report status, configured skill paths, installed skill names, and boolean artifact presence; they must not expose backend local project roots or absolute paths.

## Release Track

Local backend development may install this package from the sibling repository in editable mode. CI, release verification, and deployment should install a fixed published version of `pre-public-qc-contract` from the private Python package index.
