Status messages interrupt active child sessions and trigger unbounded review restarts
- Langage dominant
- Aucune donnée de langage
- Étoiles
- 2.1k
- Forks
- 153
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
## Summary
Cross-session status messages sent to an active child session interrupted its certification work. The child repeatedly restarted review, expanded its changes, and consumed substantial resources without checkpointing, committing, or opening a pull request.
My status questions were reasonable and exposed the defect. The repeated work was caused by orchestration behavior, not user error.
## Reproduction
1. Delegate a long-running review to a child session.
2. Request its status through the parent session while it is processing.
3. The parent sends the status request into the child as a new user turn.
4. Active work is interrupted or superseded.
5. The child restarts review instead of resuming from a checkpoint.
6. Repeated status checks cause repeated review cycles and scope growth.
## Expected behavior
- Status checks should be read-only and not interrupt active child work.
- Any unavoidable interruption should require confirmation.
- Interrupted work should resume from a durable checkpoint.
- Review loops should have duplicate-work detection and resource budgets.
## Actual behavior and impact
- Status-only messages became disruptive child turns.
- A bounded audit expanded into 16 modified files and over 2,500 inserted lines.
- No commit or pull request was produced before the work was manually frozen.
- Local telemetry recorded 1,295 model-usage events, approximately 194.2M input tokens and 1.02M output tokens. These are local counters that may include replayed or cached context—not asserted billable totals.
## Suggested fixes
1. Provide a read-only child-status API.
2. Queue parent messages behind active child work by default.
3. Warn before cancelling or superseding an active child turn.
4. Persist checkpoints and resume after interruption.
5. Detect repeated reviews over substantially identical diffs.
6. Enforce time, token, retry and diff-size budgets.
7. Distinguish user, parent-orchestrator, sibling and system messages in diagnostics.
I can provide the full diagnostic report and session identifiers privately to maintainers for server-side telemetry correlation.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Aucun fichier, test ou point d’entrée n’est identifié dans l’issue. Commencez par les étapes de reproduction et suivez comment les demandes d’état du parent deviennent des child turns ; le travail doit inclure des vérifications d’état non interruptives, une gestion sûre des interruptions, la reprise depuis les checkpoints, la détection du travail en double et des budgets de ressources.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Domaine
- ai-infra-agents
- Type d'issue
- Bug
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100