Our SDKs are generated by openapi-generator on our own CI. The docs said a
hosted third-party service, which we retired: hanzoai/openapi's LLM.md and its
regenerate-sdks.yml both already said so, while its README still called that
service "canonical" and told a reader to fetch an API key for it out of KMS.
Two sources disagreeing is how somebody follows the wrong one, and the wrong one
here sends them looking for a credential that should not exist.
The same claim had spread to what customers and agents read: five pages on
docs.hanzo.ai and six agent skills advertised a vendor we do not use, and
hip-0040 -- the standard for multi-language SDKs -- argued FOR it by name. The
argument survives without the brand, because it was never about the vendor: one
spec beats N hand-written clients. python-sdk's mock script also pulled that
vendor's fork of prism-cli; it takes upstream @stoplight/prism-cli now.
What is deliberately left alone is every occurrence that is not about us: a
filament material in a 3D-printer integration, a browser of that name in three
user-agent parsers, tokenizer vocabulary where the string is a token id, and
citations recording where Mux, Perigon and Stigg publish their own specs.
Renaming any of those breaks something real.
raw.githubusercontent.com/hanzoai/openapi/main/hanzo.yaml 404s (openapi is a
private repo), so every spec-update regen failed at the fetch. Fetch hanzo.yaml
through the GitHub Contents API with a SPEC_TOKEN (repo/contents:read on
hanzoai/openapi) instead. Local SPEC=... override unchanged.
Co-authored-by: zeekay <[email protected]>
Run ruff check --fix and ruff format across the repo to fix ~495
auto-fixable lint errors (mostly I001 import sorting) and reformat
225 files to match the py312 target.
Co-authored-by: Hanzo Dev <[email protected]>
- Added comprehensive anti-stub test suite that detects:
- TODO/FIXME/STUB/FAKE/UNFINISHED patterns
- Empty functions with only pass/ellipsis
- NotImplementedError raises
- Mock implementations in production
- Debug prints in production
- Skipped tests
- Created strict GitHub Actions workflow that:
- BLOCKS deployment if ANY forbidden patterns found
- Requires ALL tests to pass (no skips allowed)
- Runs security scans
- Verifies all functions are implemented
- Only allows PyPI publish after ALL checks pass
- Added pre-commit hooks to catch issues locally before push
- Updated Makefile with 'make check' that runs all quality gates
- Fixed stub function issue in tools/__init__.py
This ensures we NEVER deploy incomplete or stub code to production again!
- Remove dependency on external Prism mock server
- Create comprehensive respx mock fixtures for all endpoints
- Fix SDK bugs in organization.py (incorrect return types)
- Update test script to use respx mocks instead of Prism
- All 3,141 tests now pass without external dependencies
- Remove all unconditional pytest.skip() calls
- Fix file content tests to handle both strict/non-strict modes
- Fix missing device_capabilities module in hanzo-network
- Fix HanzoNetProvider imports and exports
- Fix local_llm.py import errors
- Create test helper classes for pagination tests
- Fix FastMCP paginator test constructor args
- Configure all API keys from ~/.zsh/after.zsh
- All tests now pass or skip conditionally based on actual requirements