Remove LLM prompt/response + response-creation project support#2063
Conversation
Mirrors intelligence #30108 (e4feccc093, "Remove LLM prompt/response data-creation editors"), which dropped LLM_PROMPT_CREATION / LLM_PROMPT_RESPONSE_CREATION from the MediaType enum and RESPONSE_CREATION from the EditorTaskType enum. Staging now rejects these values, so the SDK's project-creation paths for them are dead. Removed (creation path only): - MediaType.LLMPromptCreation, MediaType.LLMPromptResponseCreation - OntologyKind.ResponseCreation; EditorTaskType.ResponseCreation (+ mapper branches) - Client.create_prompt_response_generation_project, Client.create_response_creation_project - Project.is_prompt_response and labeling_service_dashboard branches for the removed enums - Project-creation tests + fixtures (test_prompt_response_generation_project.py, test_response_creation_project.py, LLM/ResponseCreation params in test_generic_data_types.py, and the prompt/response conftest fixtures) Kept (still needed to read/export existing data, which the backend preserves): - PromptResponseClassification (ontology), PromptClassificationAnnotation/PromptText (annotation types), and NDPromptClassification ndjson serialization - MediaType.LLM and OntologyKind.ModelEvaluation / EditorTaskType.ModelChatEvaluation Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit e1f77a8. Configure here.
| Html = "HTML" | ||
| Image = "IMAGE" | ||
| LLMPromptCreation = "LLM_PROMPT_CREATION" | ||
| LLMPromptResponseCreation = "LLM_PROMPT_RESPONSE_CREATION" |
There was a problem hiding this comment.
Legacy API media types misclassified
Medium Severity
Removing LLMPromptCreation and LLMPromptResponseCreation from MediaType means API values such as LLM_PROMPT_CREATION no longer match any member in _missing_, so fetched projects deserialize to MediaType.Unsupported with value UNSUPPORTED instead of the backend’s stored type. That conflicts with keeping legacy prompt/response projects readable and can break callers that branch on project.media_type or its .value.
Reviewed by Cursor Bugbot for commit e1f77a8. Configure here.
There was a problem hiding this comment.
I think this is OK but can confirm.


Description
Mirrors the backend removal in intelligence #30108 (
e4feccc093, 2026-06-30 — "Remove LLM prompt/response data-creation editors"), which droppedLLM_PROMPT_CREATION/LLM_PROMPT_RESPONSE_CREATIONfrom the GraphQLMediaTypeenum andRESPONSE_CREATIONfrom theEditorTaskTypeenum. Staging now rejects these values (Value "LLM_PROMPT_CREATION" does not exist in "MediaType" enum), so the SDK's project-creation paths for them are dead and their integration/data tests fail at setup.Scope
Per the backend commit, existing prompt/response data stays fetchable/exportable ("route existing projects to a no-longer-supported screen so their data stays fetchable; leave Python mime mappings"). So this PR removes only the creation path, and keeps the data model used to read/export existing labels.
Removed (creation path)
MediaType.LLMPromptCreation,MediaType.LLMPromptResponseCreationOntologyKind.ResponseCreation;EditorTaskType.ResponseCreation(+ their mapper branches)Client.create_prompt_response_generation_project,Client.create_response_creation_projectProject.is_prompt_responseand thelabeling_service_dashboardbranches referencing the removed enumstest_prompt_response_generation_project.py,test_response_creation_project.py, the LLM/ResponseCreation params intest_generic_data_types.py, and the prompt/response fixtures in the integration + annotation-import conftestsKept (still needed to read/export existing data)
PromptResponseClassification(ontology tool-building type)PromptClassificationAnnotation/PromptText(annotation types) +NDPromptClassificationndjson serializationMediaType.LLM,OntologyKind.ModelEvaluation,EditorTaskType.ModelChatEvaluation/OfflineModelChatEvaluation(unaffected)Verification
import labelboxOK; all three suites collect with no errors (unit 265, data 286, integration 330)ruff format --checkandruff checkclean (ruff 0.8.2, matching CI)🤖 Generated with Claude Code
Note
High Risk
Removes public Client APIs and enum members, which is a breaking change for any caller still creating LLM prompt/response or response-creation projects; export/read types remain but creation will fail against current backends anyway.
Overview
Breaking change aligned with backend removal of LLM prompt/response data-creation editors: the SDK drops project creation paths that send unsupported
MediaType/EditorTaskTypevalues to the API.Client.create_prompt_response_generation_projectandClient.create_response_creation_projectare removed. Related enums and wiring are stripped:MediaType.LLMPromptCreation/LLMPromptResponseCreation,OntologyKind.ResponseCreation,EditorTaskType.ResponseCreation, plusProject.is_prompt_response()and labeling-dashboardservice_typelabels for those project kinds.create_ontologydocs no longer describe response-creation ontology behavior.Integration and annotation-import tests, fixtures, and dedicated test modules for prompt/response and response-creation projects are deleted; remaining test matrices no longer parametrize those media types.
Read/export paths are intentionally kept (e.g.
PromptResponseClassificationin ontology building) so existing prompt/response label data can still be represented. Model chat evaluation (ModelEvaluation, conversational MMC) is unchanged.Reviewed by Cursor Bugbot for commit e1f77a8. Bugbot is set up for automated code reviews on this repo. Configure here.