From 3535a31fb590719b91b72466baa0602249b284b9 Mon Sep 17 00:00:00 2001 From: Nathan Gillett Date: Wed, 6 May 2026 11:26:52 -0500 Subject: [PATCH] fix(ci): install dev deps before Python generated-type verify Bootstrap editable dev deps in verify-generated-types.sh so datamodel-code-generator metadata exists during CI generation checks. --- CHANGELOG.md | 1 + scripts/verify-generated-types.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 913e8dd..1c98cfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes to this repository are documented here. **PyPI** releases us ## Unreleased +- **Parity CI bootstrap fix:** `scripts/verify-generated-types.sh` now installs dev dependencies (`python -m pip install -e ".[dev]"`) before model generation so `datamodel-code-generator` metadata is present in clean CI environments. - **Spec-generated wire models:** Add `src/intentproof/generated` (Pydantic models from intentproof-spec JSON Schemas, embedded normative schema dicts for `jsonschema`, and `spec_fingerprint.json` with spec version plus per-schema and aggregate SHA-256). Route SDK types and wire serialization through these models; add `schema_validate` helpers for execution events, wrap options, and runtime config and export them from `intentproof`. - **Codegen and drift guards:** Add `scripts/generate_schema_models.py` with pinned `datamodel-code-generator` and deterministic generation; add `scripts/verify-generated-types.sh`, `scripts/check-no-bundled-schema.sh`, and `scripts/check-sdk-spec-pin.sh` enforcing `[tool.intentproof]` `spec-version` and `spec-commit` against the spec checkout. - **No handwritten schema models:** `scripts/check-no-handwritten-model-types.sh` delegates to `intentproof-spec`’s shared checker (requires a spec checkout via `INTENTPROOF_SPEC_ROOT`, sibling `../intentproof-spec`, or `./intentproof-spec`). Wired into **`tox -e static`**, a dedicated CI job (`no-handwritten-model-types`) that checks out the pinned spec revision without installing the SDK, the Release workflow before build, and release preflight required check-runs. diff --git a/scripts/verify-generated-types.sh b/scripts/verify-generated-types.sh index 2809dd3..ab0153b 100755 --- a/scripts/verify-generated-types.sh +++ b/scripts/verify-generated-types.sh @@ -3,6 +3,7 @@ set -euo pipefail repo="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$repo" +python -m pip install -e ".[dev]" python3 scripts/generate_schema_models.py ruff format src/intentproof/generated git diff --exit-code -- src/intentproof/generated