From 11d90517f4c10baf39ea01bb3c245437ce25a04e Mon Sep 17 00:00:00 2001 From: "John Xing (Amigo)" <150419128+johnxing-amigo@users.noreply.github.com> Date: Sat, 14 Mar 2026 16:32:28 -0400 Subject: [PATCH] docs: update CLAUDE.md and CHANGELOG.md for session 3 changes - CLAUDE.md: add webhooks.py, rate_limits.py, benchmarks/, changelog script - CHANGELOG.md: document all PRs merged in session 3 Co-Authored-By: Claude Opus 4.6 (1M context) --- CHANGELOG.md | 11 +++++++++++ CLAUDE.md | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89610a1..efae1b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,12 +8,23 @@ This project follows [Semantic Versioning](https://semver.org/) and the format i ### Added +- Webhook type safety: frozen dataclasses for all webhook event types, `parse_webhook_event()` with HMAC-SHA256 verification, replay protection (#26) +- Rate limit header exposure: `RateLimitInfo` dataclass, `parse_rate_limit_headers()` utility (#26) +- Changelog automation: `scripts/generate_changelog.py` wired into release workflow (#25) +- Performance benchmarks: token refresh latency, async concurrent request handling (#27) - SECURITY.md with responsible disclosure policy - CHANGELOG.md - CODE_OF_CONDUCT.md - GitHub issue and PR templates - Troubleshooting section in README +### Fixed + +- Streaming read timeout: set to 300s for agent responses (was httpx default 5s) (#28) +- Dependabot alert #1: `black` arbitrary file write CVE (#23) +- CodeQL workflow conflict with GitHub default setup (#28) +- Integration test 409 Conflict: added retry with cleanup for sync test class (#28) + ## [0.136.0] - 2026-03-14 - Auto-generated model updates from OpenAPI spec diff --git a/CLAUDE.md b/CLAUDE.md index 027fed4..42f031c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -25,6 +25,8 @@ src/amigo_sdk/ errors.py # Error hierarchy: AmigoError -> BadRequestError, AuthenticationError, etc. _retry_utils.py # Retry-After parsing, jitter, backoff helpers models.py # Shared/manual Pydantic models + webhooks.py # Typed webhook events, parse_webhook_event(), HMAC-SHA256 verification + rate_limits.py # RateLimitInfo dataclass, parse_rate_limit_headers() generated/ model.py # Auto-generated Pydantic models from OpenAPI spec (DO NOT EDIT) resources/ @@ -37,6 +39,12 @@ scripts/ gen_models.py # Fetches OpenAPI spec and generates src/amigo_sdk/generated/model.py check.py # Pre-release checks aliases.json # Schema name aliases for code generation + generate_changelog.py # Generates categorized changelog from conventional commits + +benchmarks/ + token_refresh.py # Token refresh latency benchmark + concurrent_requests.py # Concurrent request handling benchmark + run.sh # Runner script (requires AMIGO_* env vars) tests/ conftest.py # Shared pytest fixtures