Skip to content

chore(upstream): sincronizar melhorias da v1.19.3 (variantes de reasoning via config #55854 e isolamento de upgrades #54904) #285

Open

Description

@alltomatos

1. Contexto e Panorama Geral (v1.19.3 e v2.0.29)

  • Repositório Upstream: anomalyco/opencode
  • Ramificação Ativa de Releases:
    • upstream/dev / upstream/production: Evolução contínua da linhagem OpenCode v2 (versão atual 2.0.29).
    • upstream/v1: Linhagem estável mantida para o OpenCode 1.x (lançadas as versões v1.19.0, v1.19.1, v1.19.2 e a recente v1.19.3, commit a1f604bbe0).
  • Repositório do Fork: alltomatos/opencode (atualmente baseado na linhagem 1.x com extensões do Batuta, Breniac, Combos, MCP Mail e Media Studio).
  • Ambientes Locais: D:\dev\opencode-ori\opencode e D:\dev\ori\opencode totalmente sincronizados com os remotos.

2. Critérios de Avaliação e Adoção

Critério Classificação Diretriz para o Fork
A. Suporte a Modelos e Raciocínio (Reasoning Options) Prioridade Alta Importar: permite que modelos customizados no config declarem opções de reasoning (effort, toggle, budget_tokens) e gerem variantes dinâmicas.
B. Isolamento de Atualizações da Linhagem v1 Prioridade Média Avaliar a lógica de descoberta de versão (#54904) para garantir que o fork não tente atualizar inadvertidamente para binários v2 incompatíveis do upstream.
C. Descontinuação de Serviços Proprietários Manter Autonomia No upstream (d320177aa4), o serviço de compartilhamento público de sessões (/share) foi descontinuado e o código correspondente foi removido. No fork, avaliar se mantemos o recurso local/privado ou removemos o código morto.
D. Mudanças de Arquitetura no OpenCode 2 (upstream/dev) Acompanhamento Técnico O v2 introduz nova engine de TUI, services/www e Effect 4.x. Deve ser acompanhado para um futuro épico de migração planejada.

3. Avaliação de Impacto das Novas Modificações

🧩 1. Variantes de Reasoning baseadas em Configuração (feat(opencode): #55854)

  • Commit no upstream/v1: d12161eecd (v1.19.3)
  • Arquivos:
    • packages/core/src/v1/config/provider.ts
    • packages/opencode/src/provider/provider.ts
    • packages/opencode/src/provider/transform.ts
    • packages/opencode/test/provider/provider.test.ts
  • Impacto no Fork: Positivo Alto.
    • Permite que modelos definidos pelo usuário ou por provedores personalizados no opencode.json configurem reasoning_options diretamente.
    • O motor do OpenCode calcula automaticamente as variantes (ex.: high, max, effort: xhigh) sem depender de estarem no catálogo central do models.dev.
    • Excelente compatibilidade com o sistema de Combos e provedores locais/OmniRoute do fork.

🛡️ 2. Restrição de Upgrade para a Linhagem 1.x (fix(opencode): #54904)

  • Commit no upstream/v1: 3be039593a (v1.19.2)
  • Arquivos:
    • packages/opencode/src/installation/index.ts
    • packages/opencode/src/cli/cmd/upgrade.ts
  • Impacto no Fork: Positivo Médio.
    • Impede que comandos de upgrade no ambiente v1 instalem versões 2.x sem a flag explícita --major, protegendo contra quebras de compatibilidade em instalações automatizadas.

✂️ 3. Remoção do Serviço de Session Sharing (fix(opencode): #55718)

  • Commit no upstream/v1: d320177aa4 (v1.19.1)
  • Arquivos:
    • packages/opencode/src/share/share-next.ts (deletado)
    • packages/opencode/src/share/session.ts
    • packages/opencode/src/cli/cmd/import.ts
  • Impacto no Fork: Informativo / Limpeza.
    • O serviço remoto de share em nuvem mantido pela Anomaly foi desativado.

4. Plano de Ação Recomendado para o Fork

  1. Portar a funcionalidade de reasoning_options no config de provedores (#55854) para packages/core e packages/opencode.
  2. Validar a geração de variantes em provedores customizados e Combos do fork.
  3. Executar typecheck e testes de regressão dos provedores (bun test packages/opencode/test/provider/provider.test.ts).

Activity

  1. added
    tech-debtRefactors, cleanup, architectural debt
    ready-for-agentScoped and ready for an agent to pick up
    on Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentScoped and ready for an agent to pick uptech-debtRefactors, cleanup, architectural debt

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions