[FEATURE] Race-condition safe variables for workflow debounce

Ouverte
#2,918 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
typescript
Domaine
ai-infra-agents

Piste de recherche

The issue does not identify files, tests, or entry points. Start by tracing how workflow variables are scoped to a run and how webhook-triggered executions proceed concurrently; then clarify whether the change should provide atomic persistent variables or a built-in debounce/lock. Done should ensure only the latest run continues after a wait window, including under concurrent webhook bursts.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Summary

Need race-condition safe, cross-run variables (or built-in debounce/lock) for webhook bursts.

Problem

Workflow variables are per-run only, so concurrent executions cannot coordinate. This makes debounce/“latest message wins” logic unreliable.

Current behavior

Multiple webhook runs triggered within seconds all proceed because each run sees only its own variable state.

Proposal

Add a persistent, atomic variable store scoped to workflow (optionally per-conversation) with compare-and-set semantics, or a built-in debounce/lock block with TTL.

Use case

User sends 4–5 messages quickly; only the latest run should continue after a wait window.

Langage dominant
TypeScript
Étoiles
29.8k
Forks
3.9k
Merge moyen
1 h 44 min
PR mergées (30 j)
841

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de simstudioai/sim

Toutes les issues de simstudioai/sim

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.