Skip to main content

Naming Conventions

Naming Tasks

Tasks must use slash-delimited kebab-case names following the below pattern:

[:vendor|:product] / [:api_version] / [:resource] / [:operation_name_as_noun] / [:model]

Examples:

- /v1/images/generatations
- videos/text-to-video
- images/enhancements/diffbir

API integration tasks

For tasks that do External API integration, append the vendor name at the beginning.

Additionally, try to keep the APIs closer to the original ones

Examples:

- openai/v1/chat-completions
- ideogram/v3/images/generations
- ideogram/v3/images/edits
- pika/text-to-video

Product-specific tasks

For tasks owned by a specific domain or designed to be used in a specific product, append the domain/product name at the beginning.

Examples:

- media-engine/videos/exports
- media-engine/videos/effect-apply
- api-bu/template-variations/generations

Tagging Tasks

Reusability

  • platform-task - core tasks designed to be reused across different feature implementations
  • feature-task - feature task (usually workflow) designed for individual features only. Not recommended for reuse

Alerting

  • stability:stable - Default if not marked as beta or experimental. Provides 99.9% availability SLO
  • stability:beta - Task is in beta phase. Provides 95% availability SLO
  • stability:experimental - No SLO — used for early-stage or experimental tasks

Expense Tracking

  • vendor:[VENDOR] - the vendor of the external API the task uses (e.g. vendor:google - the task uses google's external APIs)