Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Smarter compaction/compression

Abierto
#407 1 comentario 1 reacción 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
clojure

Línea de trabajo

The issue does not name files or tests; start by locating the context-compaction implementation and how it handles tool results and conversation history. Compare the existing behavior with the proposed head/tail retention, tool pruning, and file summaries, then define and test a focused behavior before considering the broader suggestions.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

To upvote this issue, give it a thumbs up. See this list for the most upvoted issues.

Keep head and tail messages and files touched

Instead of summarizing everything, pi for example has a configurable keepRecentTokens

Pi also will include all files touched in the summary:

  <read-files>
  path/to/file1.ts
  path/to/file2.ts
  </read-files>

  <modified-files>
  path/to/changed.ts
  </modified-files>

If you're familiar with /handoff, this is something it also does.

Hermes agent is similar, but it keeps some tail and head messages and always removes tool call results (any tool result outside the head/tail >200 chars is replaced with a message that the output was cleared). On second compaction, the first summary is also passed with instructions to update it.

Microcompaction and dynamic context pruning

  • Claude Code intelligently microcompacts every turn by, but this will break prompt caching with openai's API (needs anthropic's cache_edits)
  • dynamic context pruning - different implementations that call themselves DCP do different things, but here are some of the main things that differ from normal compaction:
    • removing errored tool inputs (but not the error message)
    • removing deduplicated tools (only keep most recent when multiple have same args)
    • compressing specific ranges instead of everything with a tool
    • protects recent turns from any proving
  • Everything from opencode DCP, for example, breaks prompt caching so it would also only make sense to use when the context window was near full

Simplest changes

  • some configurable head/tail saving
  • some configurable tool call pruning
  • including read/edited files in the summary
  • Maybe take some inspiration from hermes' prompt and iterative recompression

full hermes docs on compression

Lenguaje dominante
Clojure
Estrellas
1k
Forks
82
Merge medio
3 d 39 min
PR fusionados (30 d)
15

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de editor-code-assistant/eca

Todos los issues de editor-code-assistant/eca

Issues similares

Más issues de Clojure

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.