mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-13 15:13:07 +00:00
`worktree plan` sem argumento cria a sessão persistente sem driver (contrato do `new`); com bag auto-submete uma única `/plan-issue <bag>` e usa o mesmo texto como rótulo do branch, espelhando o `fix`. - purposeInvocation (lib/agent-session): ramo plan reusa a sanitização do fix e devolve null quando o bag fica vazio (driverless por desenho). - opencodeLaunchDirective emite --argument para fix||plan; cmdPlan repassa argument: bag; cmdStart isenta plan do aviso "sem comando". - next/new/fix, --stay e o comando /worktree intactos. - Specs repinados; textos vivos e changelog atualizados. Débito de risk map das libs + pin do wiring registrado em #1071.
4.3 KiB
4.3 KiB
| description |
|---|
| Claima a próxima Issue (next [--issue N] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]), cria o worktree dela e provisiona o ambiente; também cria worktree de planejamento (plan [bag] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]), worktree neutro (new [bag] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]), worktree de correção de bug (fix [bag] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]) ou destrói o atual (kill [--force]) |
Rode o script determinístico abaixo (não improvise a lógica) e reporte o resultado de forma concisa.
next [--issue N] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]: claima a próxima Issue claimável da fila (mesma fila/ordem e lock otimista depnpm agent:claim) e cria (ou reutiliza) o worktree dela. Claim falhou → reporte o motivo — não há worktree.--issue Nclaima a Issue direcionada (ready) ou reabre uma já claimada (in-progress, sem re-claim). A saída avisa "já claimada — NÃO rodarpnpm agent:claim". Por padrão o script imprimecd <dir>na última linha — aplique-o na sessão de shell atual (cd <dir>) e reporte o novo diretório.--staysuprime ocd(não troque de diretório) mas o claim ainda acontece.--cheap/--pro/--zen/--go/--alibaba/--glm/--freeescolhe o modelo por invocação no mapa fixoWORKTREE_MODEL_MAP(cheap=cheapestinference/deepseek-v4-flash, pro=deepseek/deepseek-v4-pro, zen=opencode/muse-spark-1.3-contributor-free, go=opencode-go/deepseek-v4.1-flash, alibaba=alibaba-token-plan/deepseek-v4-flash, glm=opencode-go/glm-5.3-flash, free=openrouter/openrouter/free); at-most-one (múltiplas → erro).plan [bag] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]: cria um worktree de planejamento diferente a cada invocação (branchplans/plan-issue-<bag>, ouplans/plan-issue-<n>sequencial sem bag; sufixo-2/-3em colisão) para rodar/plan-issuesem ocupar o main; nunca conflita comnext. Não claima nada. No terminal, o bag é também a mensagem de abertura: o launch carrega--argument="<bag>"e o driver auto-submete/plan-issue <bag>; sem bag a sessão abre sem driver (você digita o/plan-issuecom contexto). Mesmo contrato decddonext: aplique a última linhacd <dir>por padrão;--staysuprime; flag de modelo como nonext.new [bag] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]: cria um worktree neutro (sem função pré-definida — explorar ideia, conversar, planejar sem registrar nada) diferente a cada invocação (branchwork/<bag>, ouwork/<n>sequencial sem bag; sufixo-2/-3em colisão); o prefixo minúsculowork/…nunca conflita comnextnemplan. Não claima nada. Mesmo contrato decddoplan: aplique a última linhacd <dir>por padrão;--staysuprime; flag de modelo como nonext.fix [bag] [--stay] [--cheap|--pro|--zen|--go|--alibaba|--glm|--free]: cria um worktree de correção de bug (skill/bug-fix) diferente a cada invocação (branchfix/<bag>, oufix/<n>sequencial sem bag; sufixo-2/-3em colisão); o prefixo minúsculofix/…nunca conflita comnext,plannemnew. Não claima nem cria Issues — o registro do bug é o post-mortem da skill. O bag é a descrição do bug: no terminal, o launch carrega--argument="<bag>"e o driver destacado auto-submete/bug-fix <bag>(a descrição chega com a skill). Mesmo contrato decddoplan: aplique a última linhacd <dir>por padrão;--staysuprime; flag de modelo como nonext.kill [--force]: destrói o worktree em que você está, encerra a sessão persistente do run (OPS110) e remove seus bancos. O script imprimecd <main>na última linha — aplique-o (cd <main>) para a sessão sair do diretório destruído.
Este comando roda SEM o marcador
TEQO_WORKTREE_TERMINAL, então nunca recebe a diretivalaunch— só ocd. O launch (OPS26/OPS33+OPS93+OPS95+OPS110: delega aoscripts/agent-session.mjs, que sobe o servidor compartilhado, dispara o driver destacado e anexa o TUI — fechar o terminal não encerra o run) acontece apenas na funçãoworktree()de.agents/shell/worktree.sh(terminal interativo); nunca abra um TUI aninhado a partir daqui.
!node scripts/worktree.mjs $ARGUMENTS