Skip to content

Paxman 1.0.0 — Production release

Choose a tag to compare

@azaharizaman azaharizaman released this 27 Jun 07:04

Paxman 1.0.0 — Production-ready release

The first production-ready release of Paxman, the contract-driven deterministic normalization engine for Python.

Install: pip install paxman[pydantic]

Source: https://github.com/nexusnv/paxman
Docs: https://github.com/nexusnv/paxman/blob/main/docs/concepts/RELEASE_NOTES_v1.0.0.md

Highlights

  • 4 contract adapters: Pydantic v2, JSON Schema (draft 2020-12), OpenAPI 3.x, Dict DSL
  • 5 capabilities: text_extraction, regex_extraction, lookup, inference, validation
  • 7 subsystems: contract, planner, capabilities, executor, reconciler, artifact, api
  • 9 field types: STRING, INTEGER, DECIMAL, BOOLEAN, DATE, ENUM, OBJECT, ARRAY, MONEY
  • MONEY as first-class Decimal type — never float (per ADR-0004)
  • Deterministic replay with SHA-256 replay_hash (byte-equal rehydration)
  • 3 reference examples in-tree: backend_service (FastAPI), ai_agent_ingest (stdlib), saas_procurement (CSV batch)
  • 9-check CI pipeline (lint, mypy --strict, pyright, interrogate, bandit, pip-audit, test-cov, etc.)
  • Trusted publishing via OIDC — no API tokens in repo or environment

V1 acceptance criteria: 84/87 (96.5%)

3 deferred items, each with documented justification:

  1. §2.1 — Cold import + capability registration at 117ms vs aspirational 100ms (aspirational, non-gating)
  2. §2.5 — Cold import benchmark above target (aspirational, non-gating per section header)
  3. §3.3 — Branch protection requires GitHub UI/API verification (cannot verify from clone)

What's deferred to V2 (per docs/concepts/RELEASE_NOTES_v1.0.0.md)

  • LLM planner (V1 planner is rule-based)
  • Async API
  • Parallel field execution (V1 is sequential per ADR-0006)
  • Real LLM provider integrations (OpenAI, Anthropic) — V1 ships a stub
  • RAG framework integration
  • OpenAPI 3.1 full coverage
  • Pyright strict mode
  • Migration tools for ad-hoc normalization → Paxman

External user validation (D10.6)

The Sprint 10 risk register documented a high-priority prerequisite: ≥3 external users (from the target personas) using Paxman for a real workload. Per the Oracle M5 review fallback in docs/sprints/oidc-setup.md and docs/sprints/sprint-10-release.md, this gate is waived for v1.0.0 with a tracking issue filed for V1.0.x.

Sprint 10 changelog excerpt

See CHANGELOG.md for the full Sprint 0-10 history.

Added:

  • Version bumped to 1.0.0 (Production/Stable)
  • 3 reference examples (backend_service, ai_agent_ingest, saas_procurement)
  • docs/concepts/RELEASE_NOTES_v1.0.0.md
  • tests/integration/test_saas_procurement_replay.py (D10.7)
  • README "Examples" section
  • paxman.api.replay — removed the last # type: ignore

Changed:

  • CI workflow now runs test-examples as required gate
  • Release workflow publishes to both TestPyPI and PyPI via OIDC
  • Golden artifacts regenerated for v1.0.0
  • Test files updated to v1.0.0+ version semantics

Fixed:

  • # type: ignore[return-value] in src/paxman/api/replay.py removed (Sprint 10 determinism fix)

Verifying this release

pip install paxman[pydantic]==1.0.0
python -c 'import paxman; print(paxman.__version__)'
# Expected: 1.0.0

Acknowledgments

Built over 11 sprints (Sprint 0-10). Special thanks to the V1.0.x issue triage list for the next steps.