|
| 1 | +{ |
| 2 | + "skill_name": "celeste-python", |
| 3 | + "evals": [ |
| 4 | + { |
| 5 | + "id": 1, |
| 6 | + "prompt": "Integrate Celeste into an app endpoint that generates text, analyzes uploaded images, and lists available text generation models. Keep the integration thin and type-safe.", |
| 7 | + "expected_output": "Uses namespace-first public APIs or create_client only where explicit reuse is needed; imports Celeste public types; uses list_models for discovery; avoids local provider/model/role/MIME registries.", |
| 8 | + "files": [], |
| 9 | + "expectations": [ |
| 10 | + "Uses celeste.text or celeste.images namespace APIs for app-side operations unless create_client is justified.", |
| 11 | + "Uses list_models with Modality and Operation instead of a hard-coded app-side model catalog.", |
| 12 | + "Uses Celeste artifacts, MIME enums, Message, Role, Provider, Modality, and Operation where those concepts appear.", |
| 13 | + "Does not patch or mutate Celeste internals from app code." |
| 14 | + ] |
| 15 | + }, |
| 16 | + { |
| 17 | + "id": 2, |
| 18 | + "prompt": "Add support for a new hypothetical text provider named AcmeAI that exposes an OpenAI-compatible chat completions API. Describe or implement the files and tests needed in celeste-python.", |
| 19 | + "expected_output": "Follows SDK seams: Provider enum, provider auth registration, provider API or protocol reuse, modality provider client/map, model definitions and aggregation, parameter mappers where needed, and focused tests.", |
| 20 | + "files": [], |
| 21 | + "expectations": [ |
| 22 | + "Identifies Provider enum registration in src/celeste/core.py.", |
| 23 | + "Identifies provider auth registration under src/celeste/providers/acmeai/__init__.py.", |
| 24 | + "Uses a concrete provider API package or the chat completions protocol seam instead of inventing a flat request stack.", |
| 25 | + "Updates modality text provider registration and model aggregation.", |
| 26 | + "Defines models with operations and parameter_constraints.", |
| 27 | + "Selects focused tests such as test_provider_api_templates.py, test_init.py, test_models.py, and parameter/client tests as relevant." |
| 28 | + ] |
| 29 | + }, |
| 30 | + { |
| 31 | + "id": 3, |
| 32 | + "prompt": "Review this Celeste integration: it defines local Provider and Role enums as strings, keeps a hard-coded BACKEND_MODELS list, maps file extensions to raw MIME strings, and registers unknown models at runtime before calling Celeste. Identify what is wrong and how to fix it.", |
| 33 | + "expected_output": "Flags app-side duplication and registry mutation, recommends Celeste public enums/types/model discovery/MIME enums, and scopes warnings so SDK-internal registry work is not incorrectly banned.", |
| 34 | + "files": [], |
| 35 | + "expectations": [ |
| 36 | + "Flags local Provider and Role enums as duplicates of Celeste-owned concepts.", |
| 37 | + "Recommends list_models or existing host discovery instead of a hard-coded model catalog.", |
| 38 | + "Recommends Celeste MIME enums and artifact types instead of raw MIME string maps where applicable.", |
| 39 | + "Rejects app-side runtime model registry patching while noting SDK-internal model definitions are legitimate.", |
| 40 | + "Grounds review claims in current Celeste source or skill references rather than memory alone." |
| 41 | + ] |
| 42 | + }, |
| 43 | + { |
| 44 | + "id": 4, |
| 45 | + "prompt": "A chat app wants to send an uploaded image and user text to a Celeste text model with native multimodal input. Show the Celeste message shape it should build.", |
| 46 | + "expected_output": "Builds Message(content=[TextPart(...), ImagePart(image=ImageArtifact(...))]) or equivalent ordered MessagePart list; does not pass raw ImageArtifact in content; does not define app-local ImagePart or MessageContent types.", |
| 47 | + "files": [], |
| 48 | + "expectations": [ |
| 49 | + "Uses Celeste Message, Role, TextPart, ImagePart, and ImageArtifact.", |
| 50 | + "Represents media through ordered MessagePart wrappers inside Message.content.", |
| 51 | + "Does not pass raw artifacts or mixed raw lists as Message.content.", |
| 52 | + "Does not create app-local duplicate multimodal message models." |
| 53 | + ] |
| 54 | + }, |
| 55 | + { |
| 56 | + "id": 5, |
| 57 | + "prompt": "Implement a multi-turn text conversation that sends a previous tool result back to the model. The tool result contains structured JSON.", |
| 58 | + "expected_output": "Uses ToolResult as a separate message-list item with structured content in ToolResult.content; does not subclass or wrap it as Message; keeps normal Message.content narrow.", |
| 59 | + "files": [], |
| 60 | + "expectations": [ |
| 61 | + "Uses ToolResult directly in the text messages list.", |
| 62 | + "Keeps structured tool payloads in ToolResult.content.", |
| 63 | + "Does not treat ToolResult as a Message subclass.", |
| 64 | + "Does not put structured Pydantic payloads in normal Message.content." |
| 65 | + ] |
| 66 | + }, |
| 67 | + { |
| 68 | + "id": 6, |
| 69 | + "prompt": "Configure Celeste to call a custom OpenAI-compatible text endpoint using base_url and protocol. Explain what modalities this supports today.", |
| 70 | + "expected_output": "Uses create_client with Modality.TEXT plus protocol/base_url; states protocol-based compatible client support is currently text-only; distinguishes root protocol mixins from text modality protocol clients.", |
| 71 | + "files": [], |
| 72 | + "expectations": [ |
| 73 | + "Uses create_client with modality=Modality.TEXT and protocol/base_url.", |
| 74 | + "States compatible protocol client support is currently text-only.", |
| 75 | + "Does not imply protocol= works for images, audio, videos, documents, or embeddings.", |
| 76 | + "Mentions text-specific protocol clients under src/celeste/modalities/text/protocols when discussing SDK internals." |
| 77 | + ] |
| 78 | + }, |
| 79 | + { |
| 80 | + "id": 7, |
| 81 | + "prompt": "Review a provider/template change that added extra_headers support only in one provider client file. What else should be checked?", |
| 82 | + "expected_output": "Checks templates, provider API mixins, parameter mappers/constraints if public, focused tests, and streaming/telemetry preservation when relevant.", |
| 83 | + "files": [], |
| 84 | + "expectations": [ |
| 85 | + "Points to templates as source of truth for generated provider/module shape.", |
| 86 | + "Checks provider API mixin and concrete modality provider seams.", |
| 87 | + "Considers parameter mapper and model constraint updates if extra_headers is public configuration.", |
| 88 | + "Selects focused tests from references/verification.md instead of guessing from memory.", |
| 89 | + "Does not run mutating commands unless mutation is intended." |
| 90 | + ] |
| 91 | + } |
| 92 | + ] |
| 93 | +} |
0 commit comments