Chat: add model-aware history budgets and safe compaction for replay/recovery
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 12/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- go
- Domínio
- ai-infra-agents
Direção de pesquisa
This is design work spanning chat prompt construction, transcript persistence, branch/edit invalidation and native-session recovery, and the payload names no specific files or tests. Start by locating where the chat prompt and history are assembled for the selected model, and read the related transport fix in #429. Done would need a settled budget/compaction design and the listed acceptance tests (oversized draft, pending confirmations, branch invalidation, missing native transcript, multibyte UTF-8) passing against a fixture provider.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Related transport fix: #429.
Moving a chat prompt from argv to stdin avoids the operating system's per-argument limit, but does not enforce the selected model's context window. Long authoritative transcripts, including saved operation drafts, can still grow indefinitely. Branches, edited histories, executor changes and missing native sessions require full-history reconstruction, which may exceed the model budget even when normal incremental continuation works.
Please consider a separate context-management change:
- Define provider/model-aware input budgets with room for system instructions, tool schemas and expected output. Track serialized UTF-8 bytes separately from estimated/model token counts; do not treat a 128 KiB OS argument threshold as a model context limit.
- Build a bounded model-facing projection while preserving the authoritative user-visible transcript. Summaries should retain user constraints, pending approvals and operation receipts, and must not turn historical instructions into current authorization.
- Use a persisted, revision-bound summary/checkpoint plus recent turns; invalidate it correctly when editing or branching. Keep the current question intact and expose a clear diagnostic when even the current turn cannot fit.
- Ensure initial chat, long-history branches and native-session recovery use the same budget/compaction policy. Coordinate with provider-native compaction instead of replaying unbounded history after a cache miss.
- Return structured, redacted failure codes for input budget/context overflow, distinct from process-launch E2BIG, provider quota failures and malformed tool JSON. Log byte/token counts and correlation IDs rather than complete prompts or credentials.
Acceptance tests should cover an oversized historical draft, preservation of pending confirmations, edited/branched history invalidation, missing native transcript recovery, and multibyte UTF-8 budgeting. These tests should use synthetic transcripts and a local fixture provider.
No deployment-specific transcripts, addresses or credentials are needed to reproduce or test this behavior.
- Linguagem predominante
- Go
- Estrelas
- 141
- Forks
- 28
- Merge médio
- 1d 15h
- PRs com merge (30d)
- 113
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Tencent/LoopForge
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
[Bug]: 官方镜像未安装 wecom-cli,企业微信通知报「通知服务未安装 wecom-cli」Talvez já em andamento @newexploreor assumiu há 1 dia. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Tencent/LoopForge#156 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
【架构优化】合并 gitwork/workbranch.go 中 push/pull 重复的默认提交身份注入为 withFallbackIdentityTalvez já em andamento @fx-kurumi assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 40/100
Mantenedores costumam responder em até 1 dia
-
【架构优化】从 runtime.installNPMCLI 中拆出 npm 参数拼装 npmCLIInstallArgs 与安装结果启用 activateNPMStageTalvez já em andamento @fx-kurumi assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 30/100
Mantenedores costumam responder em até 1 dia
Todas as issues de Tencent/LoopForge
Issues semelhantes
-
team:library-maintainers
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
padok-team/burrito#1208 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
bazel-contrib/rules_go#4784 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Уязвимые компоненты в GoAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
POSIdev-community/aictl#40 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 62/100
prime-radiant-inc/evener#6306 ·
Mantenedores costumam responder em até 1 dia