Skip to content

[fix] Resolve broken tracing and workflow events#4491

Open
junaway wants to merge 19 commits into
release/v0.100.8from
fix/broken-tracing-and-workflow-events
Open

[fix] Resolve broken tracing and workflow events#4491
junaway wants to merge 19 commits into
release/v0.100.8from
fix/broken-tracing-and-workflow-events

Conversation

@junaway
Copy link
Copy Markdown
Contributor

@junaway junaway commented May 29, 2026

No description provided.

Copilot AI review requested due to automatic review settings May 29, 2026 14:20
@vercel
Copy link
Copy Markdown

vercel Bot commented May 29, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agenta-documentation Ready Ready Preview, Comment May 29, 2026 6:03pm

Request Review

@dosubot dosubot Bot added size:XXL This PR changes 1000+ lines, ignoring generated files. Backend labels May 29, 2026
@junaway junaway changed the base branch from main to release/v0.100.7 May 29, 2026 14:20
@dosubot dosubot Bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:XXL This PR changes 1000+ lines, ignoring generated files. labels May 29, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 29, 2026

Review Change Stack

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 43523c28-e179-4eb7-9106-520fe38e7674

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR consolidates application and evaluator revision events into a unified workflow-domain event stream. It introduces an initial parameter throughout the revision commit chain to enable idempotent initial commit creation, adds event publication for trace read operations, and updates all routers to use commit-based flows instead of create-based flows for initial revisions.

Changes

Revision Event Domain Consolidation and Idempotent Commits

Layer / File(s) Summary
Event type enums and routing
api/oss/src/core/events/types.py, api/oss/src/core/webhooks/types.py, api/oss/src/core/events/utils.py
EventType adds WORKFLOWS_REVISIONS_* members; application/evaluator revision events marked as deserialize-only. WebhookEventType reorders and adds WORKFLOWS_REVISIONS_* members. REVISION_EVENT_TYPES comments out application/evaluator domains and routes them through workflow instead.
DAO layer initial commit guard
api/oss/src/core/git/interfaces.py, api/oss/src/dbs/postgres/git/dao.py
GitDAOInterface.commit_revision gains initial: bool = False parameter. GitDAO implements guard: when initial=True and variant_id exists, locks the variant row, counts existing revisions, and raises InitialRevisionConflict when a prior revision exists to prevent duplicate initial commits.
WorkflowsService commit with event emission
api/oss/src/core/workflows/service.py
WorkflowsService.commit_workflow_revision gains initial and emit parameters, forwards initial to DAO, and conditionally publishes workflow revision-committed events when emit=True via publish_revision_event.
Service layer commit methods thread initial parameter
api/oss/src/core/applications/service.py, api/oss/src/core/evaluators/service.py, api/oss/src/core/environments/service.py, api/oss/src/core/queries/service.py, api/oss/src/core/testsets/service.py
ApplicationsService, EvaluatorsService, EnvironmentsService, QueriesService, and TestsetsService all gain initial: bool = False parameter in commit_*_revision, thread through to DAO/workflows, and emit revision-committed events with domain="workflow" instead of domain=application/evaluator.
Router revision creation switched to commit flow
api/oss/src/apis/fastapi/applications/router.py, api/oss/src/apis/fastapi/environments/router.py, api/oss/src/apis/fastapi/evaluators/router.py, api/oss/src/apis/fastapi/queries/router.py, api/oss/src/apis/fastapi/testsets/router.py, api/oss/src/apis/fastapi/workflows/router.py
All create_revision endpoints now call commit_revision with *RevisionCommit payloads (initial=True, message="Initial revision") and are wrapped with @handle_git_exceptions(). Revision read endpoints (retrieve/fetch/query/log) publish events with domain="workflow".
Trace read event publishing
api/oss/src/apis/fastapi/traces/router.py, api/oss/src/apis/fastapi/tracing/router.py
TracesRouter.fetch_trace and query_traces emit publish_trace_fetched/publish_trace_queried with trace ID lists and counts. TracingRouter and SpansRouter fetch/query/fetch_span endpoints publish corresponding trace events with deduplicated trace IDs.
Unit tests for event routing and service commits
api/oss/tests/pytest/unit/events/test_events_utils.py, api/oss/tests/pytest/unit/events/test_service_commit_emission.py
Event routing tests updated to use workflow domain, validate workflow revision event emission, and assert reference shapes. Service commit emission tests updated to expect WORKFLOWS_REVISIONS_COMMITTED events with workflow-shaped references for applications and evaluators.

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 44.23% which is insufficient. The required threshold is 60.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ❓ Inconclusive No pull request description was provided; the PR contains only a title but no body text to evaluate. Add a description explaining the changes, rationale for moving application/evaluator revisions to workflow events, and impact on existing systems.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title '[fix] Resolve broken tracing and workflow events' directly aligns with the main changes: fixing tracing event emission and restructuring application/evaluator revision events as workflow events.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/broken-tracing-and-workflow-events

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR attempts to fix tracing endpoint usage and align revision workflow events so application/evaluator revisions emit under the workflow event domain. It also changes initial revision creation paths to use commit flows and adds trace/revision event publication in several routers.

Changes:

  • Updates web tracing clients from /tracing/... routes to newer /spans and /traces routes.
  • Adds workflow revision event types and switches application/evaluator revision events to workflow.
  • Routes revision creation through commit methods with an initial guard and adds trace/read event emission.

Reviewed changes

Copilot reviewed 25 out of 25 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
web/packages/agenta-entities/src/trace/state/store.ts Updates tracing endpoint documentation.
web/packages/agenta-entities/src/trace/api/api.ts Changes trace API endpoint paths.
web/oss/src/services/variantConfigs/api/index.ts Removes variant config fetch API module.
web/oss/src/services/tracing/api/index.ts Changes OSS tracing endpoint paths.
api/oss/tests/pytest/unit/events/test_service_commit_emission.py Updates commit emission expectations to workflow events.
api/oss/tests/pytest/unit/events/test_events_utils.py Updates event utility tests for workflow revision events.
api/oss/src/dbs/postgres/git/dao.py Adds initial-commit guard to revision commits.
api/oss/src/core/workflows/service.py Emits workflow commit events from workflow commits.
api/oss/src/core/webhooks/types.py Updates subscribable webhook revision event types.
api/oss/src/core/testsets/service.py Adds initial flag and uses commit for simple create placeholder revision.
api/oss/src/core/queries/service.py Adds initial flag and uses commit for simple create placeholder revision.
api/oss/src/core/git/interfaces.py Extends commit revision interface with initial flag.
api/oss/src/core/events/utils.py Replaces application/evaluator revision mappings with workflow mappings.
api/oss/src/core/events/types.py Adds workflow revision event enum values and removes active app/evaluator values.
api/oss/src/core/evaluators/service.py Emits evaluator commits as workflow commit events.
api/oss/src/core/environments/service.py Passes initial flag through environment commit flow.
api/oss/src/core/applications/service.py Emits application commits as workflow commit events.
api/oss/src/apis/fastapi/workflows/router.py Routes workflow revision creation through commit and emits read events.
api/oss/src/apis/fastapi/tracing/router.py Adds trace fetched/queried event publication.
api/oss/src/apis/fastapi/traces/router.py Adds trace event publication for trace routes.
api/oss/src/apis/fastapi/testsets/router.py Routes testset revision creation through commit.
api/oss/src/apis/fastapi/queries/router.py Routes query revision creation through commit.
api/oss/src/apis/fastapi/evaluators/router.py Routes evaluator revision creation through commit and emits workflow read events.
api/oss/src/apis/fastapi/environments/router.py Routes environment revision creation through commit.
api/oss/src/apis/fastapi/applications/router.py Routes application revision creation through commit and emits workflow read events.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread api/oss/src/core/workflows/service.py
Comment thread api/oss/src/apis/fastapi/tracing/router.py Outdated
Comment thread api/oss/src/apis/fastapi/tracing/router.py Outdated
Comment thread api/oss/src/apis/fastapi/tracing/router.py Outdated
Comment thread web/packages/agenta-entities/src/trace/api/api.ts Outdated
Comment thread web/packages/agenta-entities/src/trace/api/api.ts Outdated
Comment thread web/oss/src/services/tracing/api/index.ts Outdated
Comment thread web/oss/src/services/tracing/api/index.ts Outdated
@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:XL This PR changes 500-999 lines, ignoring generated files. labels May 29, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated 4 comments.

Comment thread api/oss/src/core/events/types.py Outdated
Comment thread api/oss/src/core/webhooks/types.py Outdated
Comment thread api/oss/src/apis/fastapi/testsets/router.py
Comment thread api/oss/src/core/events/types.py
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 29, 2026

Railway Preview Environment

Status Destroyed (PR converted to draft)

Updated at 2026-05-29T16:05:31.953Z

@junaway junaway changed the base branch from release/v0.100.7 to release/v0.100.8 May 29, 2026 15:27
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (6)
api/oss/src/core/webhooks/types.py (1)

87-102: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Reject legacy application/evaluator revision event types on create/edit.

These values are still part of WebhookSubscriptionData.event_types, so new subscriptions can now target event types that this PR explicitly stops emitting. That creates silently broken webhook subscriptions. Keep them readable for old rows, but remove them from the write contract or validate them out on create/edit.

Possible fix
-from pydantic import BaseModel, HttpUrl
+from pydantic import BaseModel, HttpUrl, model_validator
@@
 class WebhookEventType(str, Enum):
@@
     EVALUATORS_REVISIONS_LOGGED = EventType.EVALUATORS_REVISIONS_LOGGED.value
     EVALUATORS_REVISIONS_COMMITTED = EventType.EVALUATORS_REVISIONS_COMMITTED.value
@@
+LEGACY_NON_EMITTED_WEBHOOK_EVENT_TYPES = frozenset(
+    {
+        WebhookEventType.APPLICATIONS_REVISIONS_RETRIEVED,
+        WebhookEventType.APPLICATIONS_REVISIONS_FETCHED,
+        WebhookEventType.APPLICATIONS_REVISIONS_QUERIED,
+        WebhookEventType.APPLICATIONS_REVISIONS_LOGGED,
+        WebhookEventType.APPLICATIONS_REVISIONS_COMMITTED,
+        WebhookEventType.EVALUATORS_REVISIONS_RETRIEVED,
+        WebhookEventType.EVALUATORS_REVISIONS_FETCHED,
+        WebhookEventType.EVALUATORS_REVISIONS_QUERIED,
+        WebhookEventType.EVALUATORS_REVISIONS_LOGGED,
+        WebhookEventType.EVALUATORS_REVISIONS_COMMITTED,
+    }
+)
+
 class WebhookSubscriptionCreate(Header, Metadata):
     data: WebhookSubscriptionData
 
     secret: Optional[str] = None
+
+    `@model_validator`(mode="after")
+    def validate_event_types(self):
+        unsupported = set(self.data.event_types or []) & LEGACY_NON_EMITTED_WEBHOOK_EVENT_TYPES
+        if unsupported:
+            raise ValueError(
+                "Legacy application/evaluator revision webhook event types are read-only and cannot be subscribed to."
+            )
+        return self

Apply the same validation to WebhookSubscriptionEdit.

</details>


Also applies to: 119-147

</blockquote></details>
<details>
<summary>api/oss/src/core/environments/service.py (1)</summary><blockquote>

`1007-1016`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_

**Preserve `initial` when the delta path re-enters commit.**

`commit_environment_revision(..., initial=True)` forwards the new flag to the DAO on the direct path, but the delta branch drops it when it bounces through `_commit_environment_revision_delta()`. That means retries of an initial delta commit bypass the new idempotency guard.  
 

<details>
<summary>Suggested fix</summary>

```diff
             return await self._commit_environment_revision_delta(
                 project_id=project_id,
                 user_id=user_id,
                 environment_revision_commit=environment_revision_commit,
+                initial=initial,
             )
@@
     async def _commit_environment_revision_delta(
         self,
         *,
         project_id: UUID,
         user_id: UUID,
         #
         environment_revision_commit: EnvironmentRevisionCommit,
+        initial: bool = False,
     ) -> Optional[EnvironmentRevision]:
@@
         return await self.commit_environment_revision(
             project_id=project_id,
             user_id=user_id,
             environment_revision_commit=environment_revision_commit,
+            initial=initial,
             _normalize_references=False,
         )

Also applies to: 1103-1178

api/oss/src/core/queries/service.py (1)

1060-1083: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Pass initial=True on the placeholder commit.

This is now the initial revision path, but it still uses the default initial=False. That skips the new duplicate guard in commit_revision(...), so retries can still append an extra placeholder revision and emit an extra commit event.

💡 Suggested fix
         placeholder_revision = await self.queries_service.commit_query_revision(
             project_id=project_id,
             user_id=user_id,
             #
             query_revision_commit=_query_revision_commit,
+            initial=True,
         )
api/oss/src/core/testsets/service.py (1)

1271-1296: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Mark the placeholder testset revision as the initial commit.

This first revision now goes through commit_testset_revision(...), but the call still uses initial=False. As written, the new initial-commit guard never applies to the placeholder v0 path, so repeated create attempts can still produce an extra initial revision/event.

💡 Suggested fix
         testset_revision: Optional[
             TestsetRevision
         ] = await self.testsets_service.commit_testset_revision(
             project_id=project_id,
             user_id=user_id,
             #
             testset_revision_commit=testset_revision_commit,
+            initial=True,
         )
api/oss/src/apis/fastapi/applications/router.py (1)

1423-1457: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Mirror the commit route's git error handling here.

create_application_revision now goes through commit_application_revision(...), but it still lacks @handle_git_exceptions(). That makes initial-create failures surface differently from /applications/revisions/commit for the same git-layer conflict/validation paths.

💡 Suggested fix
-    `@intercept_exceptions`()
+    `@intercept_exceptions`()
+    `@handle_git_exceptions`()
     async def create_application_revision(
api/oss/src/apis/fastapi/environments/router.py (1)

849-877: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Don't let /revisions/ bypass guarded-environment checks.

This endpoint now performs a real commit, but unlike /environments/revisions/commit it never calls ensure_environment_deploy_allowed(...). That lets a caller with EDIT_ENVIRONMENTS but without DEPLOY_ENVIRONMENTS create the initial revision on a guarded environment through this path.

💡 Suggested fix
-    `@intercept_exceptions`()
+    `@intercept_exceptions`()
+    `@handle_git_exceptions`()
     async def create_environment_revision(
         self,
         request: Request,
         *,
         environment_revision_create_request: EnvironmentRevisionCreateRequest,
@@
-        environment_revision = await self.environments_service.commit_environment_revision(
+        commit = EnvironmentRevisionCommit(
+            **environment_revision_create_request.environment_revision.model_dump(
+                mode="json",
+                exclude_none=True,
+            ),
+            message="Initial revision",
+        )
+
+        await ensure_environment_deploy_allowed(
+            project_id=UUID(request.state.project_id),
+            user_id=UUID(request.state.user_id),
+            environment_id=commit.environment_id,
+            environments_service=self.environments_service,
+        )
+
+        environment_revision = await self.environments_service.commit_environment_revision(
             project_id=UUID(request.state.project_id),
             user_id=UUID(request.state.user_id),
             #
-            environment_revision_commit=EnvironmentRevisionCommit(
-                **environment_revision_create_request.environment_revision.model_dump(
-                    mode="json",
-                    exclude_none=True,
-                ),
-                message="Initial revision",
-            ),
+            environment_revision_commit=commit,
             #
             initial=True,
         )

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 8c393205-ac6d-45c2-81d3-0e00bb27cb1a

📥 Commits

Reviewing files that changed from the base of the PR and between 1343bb3 and 0537d58.

📒 Files selected for processing (23)
  • api/oss/src/apis/fastapi/applications/router.py
  • api/oss/src/apis/fastapi/environments/router.py
  • api/oss/src/apis/fastapi/evaluators/router.py
  • api/oss/src/apis/fastapi/queries/router.py
  • api/oss/src/apis/fastapi/testsets/router.py
  • api/oss/src/apis/fastapi/traces/router.py
  • api/oss/src/apis/fastapi/tracing/router.py
  • api/oss/src/apis/fastapi/workflows/router.py
  • api/oss/src/core/applications/service.py
  • api/oss/src/core/environments/service.py
  • api/oss/src/core/evaluators/service.py
  • api/oss/src/core/events/types.py
  • api/oss/src/core/events/utils.py
  • api/oss/src/core/git/interfaces.py
  • api/oss/src/core/queries/service.py
  • api/oss/src/core/testsets/service.py
  • api/oss/src/core/webhooks/types.py
  • api/oss/src/core/workflows/service.py
  • api/oss/src/dbs/postgres/git/dao.py
  • api/oss/tests/pytest/unit/events/test_events_utils.py
  • api/oss/tests/pytest/unit/events/test_service_commit_emission.py
  • web/oss/src/services/variantConfigs/api/index.ts
  • web/packages/agenta-entities/src/trace/state/store.ts
💤 Files with no reviewable changes (1)
  • web/oss/src/services/variantConfigs/api/index.ts

Comment thread api/oss/src/apis/fastapi/workflows/router.py
Comment thread api/oss/src/dbs/postgres/git/dao.py Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated 1 comment.

Comment thread api/oss/src/dbs/postgres/git/dao.py Outdated
@junaway junaway requested a review from Copilot May 29, 2026 16:58
@junaway
Copy link
Copy Markdown
Contributor Author

junaway commented May 29, 2026

@CodeRabbit review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 29, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 25 out of 25 changed files in this pull request and generated 2 comments.

Comment thread api/oss/src/dbs/postgres/git/dao.py
Comment thread api/oss/src/core/git/types.py Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 18f99132-e1a8-4cfb-8f82-1a33bb7be2df

📥 Commits

Reviewing files that changed from the base of the PR and between 0537d58 and efc34f1.

📒 Files selected for processing (9)
  • api/oss/src/apis/fastapi/applications/router.py
  • api/oss/src/apis/fastapi/environments/router.py
  • api/oss/src/apis/fastapi/evaluators/router.py
  • api/oss/src/apis/fastapi/git/exceptions.py
  • api/oss/src/apis/fastapi/queries/router.py
  • api/oss/src/apis/fastapi/testsets/router.py
  • api/oss/src/apis/fastapi/workflows/router.py
  • api/oss/src/core/git/types.py
  • api/oss/src/dbs/postgres/git/dao.py
🚧 Files skipped from review as they are similar to previous changes (6)
  • api/oss/src/apis/fastapi/queries/router.py
  • api/oss/src/apis/fastapi/testsets/router.py
  • api/oss/src/apis/fastapi/workflows/router.py
  • api/oss/src/apis/fastapi/environments/router.py
  • api/oss/src/apis/fastapi/evaluators/router.py
  • api/oss/src/apis/fastapi/applications/router.py

Comment thread api/oss/src/core/git/types.py
jp-agenta and others added 3 commits May 29, 2026 19:38
Removes APPLICATIONS_REVISIONS_* and EVALUATORS_REVISIONS_* from
EventType and WebhookEventType (applications/evaluators now emit as
workflow events). Adds two defensive guards so existing stored data
with the old string values doesn't cause runtime errors:

- mappings.py: fall back to EventType.UNKNOWN for unrecognized DB rows
- webhooks/types.py: drop unknown event_type strings from subscription
  data instead of raising a validation error on load

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The coercion belongs at the type boundary, not the mapping function.
Any code path constructing an Event from a raw string now gets the
fallback to UNKNOWN automatically.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 29, 2026 17:47
@junaway junaway marked this pull request as ready for review May 29, 2026 17:48
@dosubot dosubot Bot added size:XL This PR changes 500-999 lines, ignoring generated files. python Pull requests that update Python code typescript and removed size:L This PR changes 100-499 lines, ignoring generated files. labels May 29, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 26 out of 26 changed files in this pull request and generated 3 comments.

Comment thread api/oss/src/core/webhooks/types.py
Comment thread api/oss/src/core/webhooks/types.py Outdated
Comment thread api/oss/src/core/events/types.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backend Bug Report Something isn't working python Pull requests that update Python code size:XL This PR changes 500-999 lines, ignoring generated files. tests typescript

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants