Skip to content

feat(core): télémétrie workflow pour le moteur world#119

Open
Killian-Aidalinfo wants to merge 12 commits into
devfrom
feat/world-workflow-telemetry
Open

feat(core): télémétrie workflow pour le moteur world#119
Killian-Aidalinfo wants to merge 12 commits into
devfrom
feat/world-workflow-telemetry

Conversation

@Killian-Aidalinfo

Copy link
Copy Markdown
Collaborator

Résumé

  • Ajoute une trace racine nommée (traceName, metadata, userId, tags, input/output) aux runs durables du moteur world dans WorkflowKit
  • Le span est créé côté dispatch ; la propagation traceparent W3C du SDK Vercel assure automatiquement le parentage des spans STEP et ai.generateText sous la trace racine
  • Opt-in strict : aucune option telemetry → comportement identique à aujourd'hui, 0 overhead
  • Chemin legacy, workflow-world, et OpenAI : inchangés

Détails techniques

  • Nouveau fichier : src/workflows/kit/worldTelemetry.ts — helper startWorldRootSpan
  • Types : tags?: string[] ajouté à WorkflowTelemetryOverrides et WorkflowTelemetryResolvedConfig
  • WorkflowRunDispatchOptions : nouveau champ telemetry?: WorkflowTelemetryOption
  • 8 nouveaux tests TDD (24 tests sur WorkflowKit.test.ts, 159 au total)

⚠️ Validation manuelle requise avant merge devmain

Avant de merger vers main (ce qui publierait 1.10.0 sur npm) :

  1. Pointer un world DB réel (postgres/mongo) + Langfuse configuré
  2. Appeler kit.runAndWait(monWorkflow, args, { telemetry: { traceName: "mon-workflow", userId: "...", tags: ["..."] } })
  3. Vérifier dans Langfuse que les spans STEP {name} et ai.generateText apparaissent en enfants de la trace racine nommée (arbre, pas traces liées)
  4. Si spans en lien seulement → appliquer fallback D (SpanProcessor enrichissant via baggage OTel — documenté dans la spec)

Spec : docs/superpowers/specs/2026-06-03-world-workflow-telemetry-design.md

Killian-Aidalinfo and others added 12 commits June 3, 2026 22:08
release(core): @ai_kit/core 1.9.0 — resilient structured output
Spec approuvée pour ajouter une trace racine nommée (traceName, metadata,
userId, tags, input/output) aux runs durables du moteur world dans
WorkflowKit, en tirant parti de la propagation traceparent existante du
SDK Vercel Workflow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… + erreur)

Wire telemetry into the world branch of runAndWait: opens a root span via
startWorldRootSpan, propagates OTel context into adapter.run, records output
on success and recordException/ERROR status on failure. Tests use
NodeTracerProvider for async context propagation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rialisation circulaire

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant