mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-13 06:43:06 +00:00
6.6 KiB
6.6 KiB
Modelos padrão do worktree: --go → DeepSeek V4.1 Flash e --zen → Muse Spark 1.3 Free
Status: rascunho Atualizado em: 2026-09-15 Issue: #1048 Priority: P2 Impeccable: A — N/A sem UI Rascunho UI: N/A — sem UI Appetite: ~0,5 dia eng — 2 valores do mapa + textos + pin Responsável: —
Intenção
Com o lançamento do DeepSeek V4.1 Flash (2026-09-10), ele virou também o modelo mais vantajoso no OpenCode Go — hoje pnpm worktree … --go abre a sessão em opencode-go/hy3, e o humano quer a flag apontando para o V4.1 Flash. Na mesma passada, --zen deve abrir no "Muse Spark 1.3 Free" em vez do atual opencode-go/ox-alpha-free. São dois valores do mapa fixo de flags: nada de mecanismo, cardápio ou preset.
Persona e fluxo
- Persona / contexto: mantenedor/agente abrindo worktrees de Issue no terminal, escolhendo o modelo com uma flag no momento da invocação.
- Job principal: abrir a sessão já no modelo desejado com um único flag, sem editar config nem decorar ID.
- Fluxo desejado:
pnpm worktree next|plan|new|fix --go(ou--zen) → claim/provisionamento como hoje → diretivalaunch … --model <novo ID>→ sessão nasce no modelo certo; footer confirma modelo/provider. - Anti-goals de produto: não vira seletor de modelos nem flag nova; não muda o preset sem flag; não mexe nas outras flags; não persiste preferência.
Objetivo e aceite
pnpm worktree next|plan|new|fix --goabre a sessão emopencode-go/deepseek-v4.1-flash;--zenabre emopencode/muse-spark-1.3-contributor-free.- Superfícies que citam o mapa saem sincronizadas na mesma entrega (código, docblocks/help, shell, command, skill, pin unitário) — sem contrato divergente.
- Sem flag, o preset
deepseek/deepseek-flashpermanece byte a byte;cheap/pro/alibaba/glm/freee o fail-high at-most-one intactos. - Guardrail: nenhuma menção a
--variantvolta à diretiva; config global da máquina fora do repo.
Dados (intenção)
- Vou apresentar dados? Não — tooling de dev, sem métrica de produto.
- Decisões desbloqueadas: dev/agente confia que
--go/--zenapontam para os modelos correntes, sem consultar o catálogo antes de cada invocação. - Forma: N/A — item config-only.
Dados da decisão (literais)
| Flag | Valor hoje | Valor novo |
|---|---|---|
--go |
opencode-go/hy3 |
opencode-go/deepseek-v4.1-flash |
--zen |
opencode-go/ox-alpha-free |
opencode/muse-spark-1.3-contributor-free |
- Preset sem flag (intocado):
deepseek/deepseek-flash(OPENCODE_PRESET_MODEL; overrideOPENCODE_WORKTREE_MODEL). - IDs verificados no catálogo local (
opencode models, 2026-09-15):opencode-gotemdeepseek-v4.1-flash("DeepSeek V4.1 Flash"); o-freedo Muse Spark só existe no provideropencode(OpenCode Zen) —opencode-gosó temmuse-spark-1.3-contributor(sem free); logo--zenpassa a apontar para o provideropencode, coerente com o nome da flag. - Chaves intocadas do mapa:
cheap=cheapestinference/deepseek-v4-flash,pro=deepseek/deepseek-v4-pro,alibaba=alibaba-token-plan/deepseek-v4-flash,glm=opencode-go/glm-5.3-flash,free=openrouter/openrouter/free.
Superfícies a sincronizar (caminho, não linha)
scripts/lib/worktree.mjs—WORKTREE_MODEL_MAP(dono do mapa) + docblock do mapa (nota OPS112).scripts/worktree.mjs— docblock (o help interpola o mapa e se atualiza sozinho)..agents/shell/worktree.sh— docblock da função (lista de IDs e nota histórica do--go)..opencode/commands/worktree.md— bloco donext..agents/skills/worktree-next-issue/SKILL.md— prosa do default-go e do launch (manter a história OPS93/95 e ajustar os valores correntes).tests/unit/worktree.unit.spec.ts— pintoEqualdo mapa..agents/skills/local-database/SKILL.md— cita o mapa sem IDs: confirmar que nada muda.- Nova entrada
docs/changelog/2026-09-15-ops112.md(histórico existente não se edita).
Direção no codebase (hipótese)
- Áreas prováveis:
scripts/lib/worktree.mjs(fonte única), textos que o citam (acima) e o pin unitário. - Precedente a olhar: OPS95 (
docs/plans/worktree-flags-modelo-correcao.md— values-only em 2 chaves + sync + pin), OPS100 (--glm/--free), OPS101 (preset canônico). - Risco de acoplamento:
scripts/worktree.mjsestá emHIGH_RISK_EXACT(scripts/lib/test-affected-core.mjs) → diff nele dispara unit/int full + e2e curado no PR;scripts/lib/worktree.mjsnão é high-risk. Sem DB, migration, access, UI ou e2e novo.
Dependências
- Nenhuma.
Fora de escopo
- Preset sem flag (
deepseek/deepseek-flash) e overrideOPENCODE_WORKTREE_MODEL. - Demais flags do mapa (
cheap/pro/alibaba/glm/free) e o mecanismo fail-high at-most-one. - Reintroduzir
--variant/variantes na diretiva (OPS95) ou mexer na config global da máquina. - Editar docs históricos/congelados (
docs/plans/*anteriores, changelogs, HISTORY).
Rabbit holes de produto
- Revisar o cardápio inteiro. Se alguém "só completar": re-checar preço/capacidade e reescrever todas as chaves. Corte neste item: só
goezen. - Sincronização parcial. Atualizar código e esquecer shell/command/skill/pin → contrato divergente (histórico OPS24/OPS95). Corte: todas as superfícies acima na mesma entrega.
- Trocar o preset "de brinde". O V4.1 Flash já é o preset; qualquer mudança nele fica fora.
Questões em aberto (produto)
- Nenhuma — a única dúvida (o
--zenapontar para o provideropencode/Zen, nãoopencode-go) foi resolvida na exploração: o ID do catálogo com o nome "Muse Spark 1.3 Free" éopencode/muse-spark-1.3-contributor-free, coerente com o nome da flag.
Referências
docs/plans/worktree-flags-modelo-correcao.md(OPS95 — precedente de correção values-only + sync)docs/plans/worktree-modelo-canonico-deepseek-flash.md(OPS101 — preset canônico; não mexer)scripts/lib/worktree.mjs(mapa/preset — fonte única),tests/unit/worktree.unit.spec.ts(pin)scripts/lib/test-affected-core.mjs(HIGH_RISK_EXACT descripts/worktree.mjs)
Self-score (shaping ≥4)
- Um outcome verificável? Sim — flags resolvem para os IDs novos. 2. Appetite declarado e cabe? Sim — 2 valores + textos + pin. 3. Persona/job/aceite claros? Sim. 4. Direção é hipótese? Sim — caminhos sem contrato técnico. 5. Zero decisão dura de engenharia? Sim — valores literais são produto (IDs pedidos). Total: 5/5.