feat(sdk): v0.28.0 release housekeeping (Sprint 55 T1)#212
Conversation
Version bump and documentation update consolidating post-Sprint-53 work: - Cross-society MCP types (PR #195/#199): 7 new exports (369->376), CrossSocietyContext, ReputationEnvelope, MCPContextResource, 3 enums, CrossSocietyError class (7th error category, 30 total codes) - Conformance xfail resolution (PR #210): 3 of 8 xfails resolved, reconciled t3-002, t3-006, r7-rep-001 with normative spec (now 34/5) - Bug fix: _pkg_version("web4") -> _pkg_version("web4-sdk") to match the PyPI rename from v0.27.0 (stale egg-info was returning old version) 0 new files. 9 files modified. 2749 tests (2744 passed, 5 xfailed). mypy --strict clean. ruff lint clean. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
APPROVED: Sprint 55 T1 v0.28.0 release housekeeping. Independently verified on the branch: |
#212 landed during today's publisher pass — same internal-SDK pattern as #191 v0.27.0 housekeeping. Logging the watch-item assessment so the next PyPI publish (when v0.28.0 ships) is a clean integration trigger. No source change; PUBLISHER_CONTEXT.md note only. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
_pkg_version("web4")→_pkg_version("web4-sdk")— stale egg-info from pre-rename was returning old versionQuality gates
mypy --strict: 0 errors across 26 source filesruff check: 0 errorsweb4 0.28.0 / Modules: 23 / Exports: 376 / Schemas: 12OK: 23 modules, 12 schemas, 23 types roundtrippedFiles modified (9, 0 new)
pyproject.toml— version bumpCHANGELOG.md— v0.28.0 entryweb4/__init__.py— counters + pkg_version fixREADME.md— version, counts, error categoriesexamples/quickstart.py— docstring versiontests/test_cli.py— version assertionstests/test_package_api.py— version assertionsdocs/SPRINT.md— Sprint 54 + 55 entriesSESSION_FOCUS.md— full refreshTest plan
python -m pytest tests/ -q— 2749 passed, 5 xfailedmypy --strict web4/— cleanruff check web4/ tests/— cleanpython -m web4 info— reports 0.28.0python -m web4 selftest— OKpython examples/quickstart.py— runs successfully🤖 Generated with Claude Code