-
Notifications
You must be signed in to change notification settings - Fork 590
Comparing changes
Open a pull request
base repository: getsentry/sentry-python
base: main
head repository: getsentry/sentry-python
compare: master
- 15 commits
- 52 files changed
- 5 contributors
Commits on Mar 12, 2026
-
ci(docs): Add agentic workflows for codebase documentation (#5649)
## Summary - Add two GitHub Agentic Workflows (`gh aw`) that auto-generate and maintain developer-facing codebase documentation in `docs/codebase/` - **`docs-codebase-refresh`**: full regeneration of every doc page, triggered on merge to main/master or manual dispatch - **`docs-codebase-update`**: incremental update of only affected pages, triggered on merge when `sentry_sdk/**`, `MIGRATION_GUIDE.md`, or `CHANGELOG.md` change - Both workflows create PRs (never direct commits) for human review - Includes a portable `BUILD_PLAN.md` designed for reuse across other Sentry SDKs -- only the SDK Context block changes per language (will remove later) ### How This Relates to Other Sentry Docs - **[docs.sentry.io/platforms/\*](https://docs.sentry.io/)** tells users *what to do* -- setup guides, config options, API usage. - **[develop.sentry.dev/sdk/](https://develop.sentry.dev/sdk/)** tells SDK authors *what to build* -- protocol spec, envelope format, required behaviors. - **API reference** (Sphinx, TypeDoc, Javadoc, etc.) tells developers *what the API surface looks like* -- auto-generated from docstrings/annotations. Lists signatures, parameters, return types. - **`docs/codebase/*`** (this) explains *what was built and how it works* -- architecture, data flow, how modules connect, and why. Generated from full source analysis, not just docstrings. Aimed at SDK contributors and maintainers. ### Files added | File | Purpose | |------|---------| | `docs/codebase/BUILD_PLAN.md` | Portable blueprint with porting checklist | | `docs/codebase/_meta/style-guide.md` | SDK-agnostic formatting rules and page templates | | `docs/codebase/_meta/manifest.json` | Empty manifest (populated by first workflow run) | | `.github/workflows/docs-codebase-refresh.md` | Full refresh workflow source | | `.github/workflows/docs-codebase-update.md` | Incremental update workflow source | | `.github/workflows/docs-codebase-*.lock.yml` | Compiled Actions workflows | | `.gitattributes` | Marks `docs/codebase/**` as `linguist-generated` | ## Test plan - [x] `gh aw compile` produces 0 errors, 0 warnings for both workflows - [ ] Manual trigger via `gh aw run docs-codebase-refresh` generates initial docs - [ ] Verify generated pages cover all integrations in `_MIN_VERSIONS` - [ ] Push a source change to main, verify incremental workflow updates only affected pages - [ ] Both workflows create PRs (not direct commits) 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b3305b6 - Browse repository at this point
Copy the full SHA b3305b6View commit details -
ci(docs): Switch agentic workflows from Copilot to Claude engine (#5654)
## Summary - Switch `docs-codebase-refresh` and `docs-codebase-update` GitHub Agentic Workflows from the default Copilot engine to `engine: claude` - Lock files recompiled via `gh aw compile` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.6 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 68313e1 - Browse repository at this point
Copy the full SHA 68313e1View commit details
Commits on Mar 13, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 6ed3404 - Browse repository at this point
Copy the full SHA 6ed3404View commit details -
Configuration menu - View commit details
-
Copy full SHA for 58361ce - Browse repository at this point
Copy the full SHA 58361ceView commit details -
ci(docs): Remove agentic codebase documentation workflows (#5655)
Remove the agentic CI workflows and generated artifacts introduced for auto-generating codebase documentation. This reverts the work from #5649 and #5654, which added GitHub Actions workflows to generate and refresh docs using an AI agent. The generated docs files (`BUILD_PLAN.md`, `_meta/manifest.json`, `_meta/style-guide.md`) and associated action lock files are also removed. The `.gitattributes` file (which was added as part of that workflow setup) is removed as well. Co-authored-by: Claude Sonnet 4.6 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b1ddc5d - Browse repository at this point
Copy the full SHA b1ddc5dView commit details -
feat(anthropic): Add
gen_ai.systemattribute to spans (#5661)Add the `gen_ai.system` span attribute (set to `"anthropic"`) to the Anthropic integration. Other AI integrations (OpenAI, Langchain, Google GenAI, LiteLLM, Pydantic AI) already set this attribute, but it was missing from the Anthropic integration. The attribute is set in `_set_input_data()` which is called for every span (streaming/non-streaming, sync/async). Refs PY-2135 Closes #5657
Configuration menu - View commit details
-
Copy full SHA for a3ee8aa - Browse repository at this point
Copy the full SHA a3ee8aaView commit details -
feat(anthropic): Set gen_ai.response.id span attribute (#5662)
Set the `gen_ai.response.id` property on spans created by the Anthropic integration. For non-streaming responses, the ID is read from `result.id` on the Message object. For streaming responses, it's captured from `event.message.id` in the `message_start` event and threaded through the iterator to be set when the stream completes. The `_collect_ai_data` function's return tuple is extended with the new `response_id` field, and `_set_output_data` accepts an optional `response_id` parameter to set on the span. Refs PY-2137 Closes #5659
Configuration menu - View commit details
-
Copy full SHA for 2faa4b1 - Browse repository at this point
Copy the full SHA 2faa4b1View commit details -
test(anthropic): Stop mocking response iterator (#5573)
Replace mocks with `httpx` types to avoid test failures when library internals change.
Configuration menu - View commit details
-
Copy full SHA for ddbbd0c - Browse repository at this point
Copy the full SHA ddbbd0cView commit details -
test(anthropic): Stream valid JSON (#5641)
Use double quotes for JSON strings.
Configuration menu - View commit details
-
Copy full SHA for 6df01e9 - Browse repository at this point
Copy the full SHA 6df01e9View commit details -
ref(anthropic): Factor out streamed result handling (#5563)
Create dedicated functions for patching synchronous and asynchronous response iterators.
Configuration menu - View commit details
-
Copy full SHA for 34b595d - Browse repository at this point
Copy the full SHA 34b595dView commit details -
ref(anthropic): Skip accumulation logic for unexpected types in strea…
…med response (#5564) Prepare for adding patches for `.stream()`, which iterate over `MessageStreamEvent`. `MessageStreamEvent` is a superset of `RawMessageStreamEvent` returned in the iterator from `create(stream=True)`, but `RawMessageStreamEvent` instances are sufficient to collect the information required for AI Client Spans.
Configuration menu - View commit details
-
Copy full SHA for 58531ca - Browse repository at this point
Copy the full SHA 58531caView commit details -
fix(anthropic): Close span on
GeneratorExit(#5643)Run post-iterator steps in a finally block so the AI Client Span is finished even if the generator does not complete.
Configuration menu - View commit details
-
Copy full SHA for c84b6d8 - Browse repository at this point
Copy the full SHA c84b6d8View commit details -
feat(anthropic): Emit AI Client Spans for synchronous `messages.strea…
…m()` (#5565) Patch `Messages.stream()` and `MessageStreamManager.__enter__()` to create AI Client Spans. Re-use existing code for setting attributes on AI Client Spans based on arguments to `anthropic` functions. Adapt tests that return a synchronous response stream with `create(stream=True)`.
Configuration menu - View commit details
-
Copy full SHA for c3e3acc - Browse repository at this point
Copy the full SHA c3e3accView commit details -
feat(anthropic): Emit
gen_ai.chatspans for asynchronous `messages.……stream()` (#5572) Patch `AsyncMessages.stream()` and `AsyncMessageStreamManager.__enter__()` to create AI Client Spans. Adapt tests that return a asynchronous response stream with `create(stream=True)`.
Configuration menu - View commit details
-
Copy full SHA for 31ee64a - Browse repository at this point
Copy the full SHA 31ee64aView commit details -
test(anthropic): Check system and response ID attributes on spans cre…
…ated by `stream()` (#5665)
Configuration menu - View commit details
-
Copy full SHA for ca37ab4 - Browse repository at this point
Copy the full SHA ca37ab4View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...master