Remove ongoing tool-pair summarization
- Langage dominant
- Rust
- Étoiles
- 54.2k
- Forks
- 6.2k
- Merge moyen
- 3 j 4 h
- PR mergées (30 j)
- 240
Description
# Remove ongoing tool-pair summarization
**What problem would this solve?**
Tool-pair summarization is enabled by default and periodically rewrites provider-visible conversation history.
When the eligible tool-call count exceeds the cutoff plus 10, goose selects the oldest 10 calls, makes up to 10 additional model calls to summarize them, marks the original request/result messages agent-invisible, and appends generated summaries.
This creates three problems:
- Prompt caches require a stable prefix.
Rewriting the oldest visible tool pairs invalidates most of the cached conversation.
[#10030](https://github.com/aaif-goose/goose/pull/10030) demonstrated how valuable stable Anthropic prefixes are.
- Rewriting history is becoming a provider-compatibility risk.
Anthropic requires preserved thinking blocks to be replayed unmodified, and direct provider guidance indicates that newer validation binds them to the preceding conversation.
Replacing an earlier tool pair while retaining later thinking can make that history invalid.
[Anthropic's documentation](https://platform.claude.com/docs/en/docs/build-with-claude/extended-thinking#preserving-thinking-blocks) recommends replaying complete, unmodified thinking blocks.
- The policy is based on tool-call count rather than token usage.
Ten tiny results can trigger summarization, while a single oversized result does not.
The summaries also add model cost, latency, and information loss.
**What would a good outcome look like?**
- Remove ongoing tool-pair summarization from both agent loops.
- Keep provider-visible history immutable between full compactions.
- Keep full compaction as the explicit boundary that starts a new conversation.
- Preserve or improve long-horizon task success while reducing cache writes, auxiliary model calls, and latency.
- [x] I have verified this does not duplicate an existing removal proposal.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Trouvez les boucles des agents et la logique de synthèse des paires d’outils. Recherchez le cutoff et le déclencheur de synthèse basés sur le nombre d’appels d’outils. Comprenez comment l’historique visible par le fournisseur est actuellement réécrit et où les caches de prompts sont invalidés. L’objectif est de supprimer cette synthèse continue tout en conservant le compactage complet comme limite explicite de la conversation.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- rust
- Domaine
- ai-infra-agents
- Type d'issue
- Refactorisation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Active
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 45/100