Paxman 1.0.0 — Production release
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:
- §2.1 — Cold import + capability registration at 117ms vs aspirational 100ms (aspirational, non-gating)
- §2.5 — Cold import benchmark above target (aspirational, non-gating per section header)
- §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.mdtests/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-examplesas 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]insrc/paxman/api/replay.pyremoved (Sprint 10 determinism fix)
Verifying this release
pip install paxman[pydantic]==1.0.0
python -c 'import paxman; print(paxman.__version__)'
# Expected: 1.0.0Acknowledgments
Built over 11 sprints (Sprint 0-10). Special thanks to the V1.0.x issue triage list for the next steps.