Skip to content

feat(agent): sdk-core 0.3.7 com a lista de passos do turno no evento plan e no item plan do history (#138) - #139

Merged
JoaoLuisQuirino merged 1 commit into
mainfrom
feat/138-plan-item
Oct 28, 2026
Merged

JoaoLuisQuirino merged 1 commit into
mainfrom
feat/138-plan-item

Conversation

@JoaoLuisQuirino

@JoaoLuisQuirino JoaoLuisQuirino commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Closes #138.

A lista de passos que o T3 unifica (TodoWrite e tarefas do Claude, plano do Codex) chega a sessao como o T3 mostra:

  • evento ao vivo plan (AgentPlan: planId, steps {id, text, status, durationMs?}, explanation?, status do item, mais itemId, sequence, turnId);
  • item kind: "plan" no history, com os mesmos campos e o frame em payload. Ao vivo cada atualizacao substitui o item onde ele entrou; no F5 vem o ultimo estado da linha PLAN.

Valores passam como vieram, sem traducao (status running como o T3 v2 manda). AgentTimelineItem ganha um membro sem text, como no notification.

A sessao pede o history com kinds=all&include=plan (o copilot so devolve PLAN a quem pede); AgentMessageListOptions ganha include: "plan". Sem ordem de subida: SDKs antigas pedem kinds=all e nao veem a linha, e um copilot sem o #559 ignora o include e segue respondendo kinds=all inteiro para esta SDK.

Versao: 0.3.7, sobre a 0.3.6 publicada (#141).

Pares: mitra-sandbox#787 (frame), mitra-copilot#558 (linha).

Testes

  • reads a PLAN row as the plan item T3 shows e passes the turn's list of steps as T3's plan: falham sem a mudanca.
  • npm run check verde local (734 testes, build, contratos, smoke do pacote).

🤖 Generated with Claude Code

@JoaoLuisQuirino
JoaoLuisQuirino requested a review from a team as a code owner October 27, 2026 18:17
@JoaoLuisQuirino

Copy link
Copy Markdown
Contributor Author

/gandalf

@gandalf-the-grey-bot gandalf-the-grey-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sem comentários de linha nesta rodada.

@gandalf-the-grey-bot

Copy link
Copy Markdown

Gandalf, análise 1 · commit 96a26b8

Pega-rápido
A issue #138 registra que a box descarta os passos do plano do T3, impedindo sua exibição ao vivo e no histórico. Este PR adiciona ao SDK os tipos e o tratamento para carregar e registrar esses passos. O evento raw não recupera a lista já descartada pelo produtor.

Insights
O problema é concreto e o contrato tipado resolve uma lacuna que a saída bruta não cobre; reconstruir o plano a partir de texto ou ferramentas não recupera os passos perdidos. A issue registra o desenho, mas não uma comparação formal de alternativas; essa conclusão sobre o mérito é a avaliação técnica desta revisão. O SDK pode ser integrado antes dos componentes que passarão a emitir o novo contrato, pois os caminhos atuais permanecem intactos sem esses eventos. A funcionalidade completa depende de versões compatíveis na box e no Copilot; as issues mitra-sandbox#787 e mitra-copilot#558 acompanham esse trabalho, mas não comprovam implementação entregue. A publicação também precisa ser coordenada com o PR #137, que reserva a versão 0.3.5.

Forma da implementação: aprovada
AgentPlan e AgentPlanStep preservam o vocabulário e os status do produtor. planFieldsOf mantém os campos públicos consistentes entre o evento e o histórico; as atualizações substituem a lista no mesmo item e preservam identidade, horário e sequência inicial. O changelog registra a mudança do contrato público.

Findings: nenhum achado acionável.

Confiança, comentários e testes
Confiança alta no recorte do SDK; a integração real com box e Copilot não foi confirmada neste review. O CI no SHA revisado passou: build, test e os dois jobs de compatibilidade (18 e 22), no run 40558647204. Os testes do PR cobrem leitura de PLAN, atualização do histórico e smoke de tipos/listeners em ESM e CommonJS.

Decisão: mergeável. A ativação completa depende da compatibilidade e da publicação coordenada descritas acima.

Aqui o meu check é obrigatório: depois de um push, comente /gandalf para eu revisar o commit novo e liberar o merge.

Comment thread src/agentSession.ts Outdated
@gandalf-the-grey-bot

Copy link
Copy Markdown

Gandalf, análise 1 · commit 96a26b8

Pega-rápido

O SDK passa a reconhecer PLAN como evento tipado e a expor os passos do plano tanto ao vivo quanto ao carregar o histórico. Isso atende à necessidade descrita na issue e evita que cada consumidor interprete o frame bruto por conta própria.

Insights

A mudança faz sentido e reaproveita o modelo de itens da sessão. O contrato público mantém o payload original e adiciona campos convenientes sem criar uma abstração paralela.

  • Qualidade: os caminhos principais de evento e histórico estão cobertos; falta proteger a combinação de histórico com replay, apontada em F1.
  • Segurança: não encontrei alteração de autenticação, isolamento de tenant, credenciais ou execução de conteúdo.
  • Escala: atualizações substituem o mesmo item, sem novo polling ou custo por passo; não há evidência para exigir mudança estrutural neste recorte.

Forma da implementação

Os tipos públicos e a variante discriminada kind: "plan" seguem a organização local de notificações. A fixture de contrato segue o requisito existente de manter corpus por versão, sem diferença de conteúdo além da versão.

Findings

  • major · src/agentSession.ts:2248-2255 A atualização do mesmo itemId pode regredir o plano após replay e descarta lastSequence ao reconstruir o item. A correção e a prova de regressão estão detalhadas no comentário de linha.

Verificação

O CI do SHA revisado passou: build, test, pr-convention e compatibilidade para Node 18 e 22; os logs registram 734 testes em 16 arquivos. Os testes novos verificam a interpretação e a atualização normal do plano, mas não o caso de histórico seguido de replay.

Confiança: 8/10, sustentada pela leitura do diff e pelo CI verde neste SHA, sem validação dos produtores futuros do contrato.

Decisão: não aprovaria até corrigir F1 e acrescentar a regressão de histórico/replay.

Aqui o meu check é obrigatório: depois de um push, comente /gandalf para eu revisar o commit novo e liberar o merge.

@JoaoLuisQuirino

Copy link
Copy Markdown
Contributor Author

/gandalf

1 similar comment
@JoaoLuisQuirino

Copy link
Copy Markdown
Contributor Author

/gandalf

@gandalf-the-grey-bot gandalf-the-grey-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sem novos comentários de linha nesta rodada.

@gandalf-the-grey-bot

Copy link
Copy Markdown

Gandalf, análise 2 · commit f4fdbb0

Desde a análise 1: o ponto sobre lastSequence foi corrigido (conversa); nenhum achado novo no commit revisado. O head atual (4036103) contém commits posteriores ainda não revisados.

Decisão: a correção no commit revisado está confirmada, mas não aprovaria o head atual até nova análise.

Aqui o meu check é obrigatório: depois de um push, comente /gandalf para eu revisar o commit novo e liberar o merge.

@gandalf-the-grey-app gandalf-the-grey-app Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sem comentários de linha nesta rodada.

@gandalf-the-grey-app

Copy link
Copy Markdown

Gandalf, análise 3 · commit 4036103

Desde a análise 2: os commits posteriores a f4fdbb0 ajustam o changelog e a documentação dos contratos, sem mudar o comportamento. F1 segue corrigido (conversa); não encontrei achado novo. O CI no SHA revisado passou: build, test, compatibilidade para Node 18 e 22 e pr-convention (run); foram 740 testes em 16 arquivos.

Execução incompleta: a análise técnica foi concluída, mas não consegui resolver a conversa F1: a identidade disponível do bot não tem permissão para fechar threads. A conversa continua aberta, e o ruleset exige resolução antes do merge.

Decisão: não aprovaria enquanto a conversa F1 permanecer aberta; alguém com permissão precisa resolvê-la.

Aqui o meu check é obrigatório: depois de um push, comente /gandalf para eu revisar o commit novo e liberar o merge.

@JoaoLuisQuirino

Copy link
Copy Markdown
Contributor Author

/gandalf

@gandalf-the-grey-bot gandalf-the-grey-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sem achados novos neste delta documental.

@gandalf-the-grey-bot

Copy link
Copy Markdown

Gandalf, análise 3 · commit 4036103

Desde a análise 2: o changelog corrige o intervalo para 0.3.0–0.3.5; F1 segue corrigido e a conversa sobre lastSequence está resolvida; nenhum achado novo.

Decisão: mergeável.

Aqui o meu check é obrigatório: depois de um push, comente /gandalf para eu revisar o commit novo e liberar o merge.

@gandalf-the-grey-app

Copy link
Copy Markdown

Gandalf, análise 3 · commit 4036103

Desde a análise 2: os commits posteriores a f4fdbb0 ajustam o changelog e a documentação dos contratos, sem mudar o comportamento. F1 segue corrigido (conversa); não encontrei achado novo. O CI no SHA revisado passou: build, test, compatibilidade para Node 18 e 22 e pr-convention (run); foram 740 testes em 16 arquivos.

Execução incompleta: a análise técnica foi concluída, mas não consegui resolver a conversa F1: a identidade disponível do bot não tem permissão para fechar threads. A conversa continua aberta, e o ruleset exige resolução antes do merge.

Decisão: não aprovaria enquanto a conversa F1 permanecer aberta; alguém com permissão precisa resolvê-la.

Aqui o meu check é obrigatório: depois de um push, comente /gandalf para eu revisar o commit novo e liberar o merge.

@JoaoLuisQuirino

Copy link
Copy Markdown
Contributor Author

/gandalf

@gandalf-the-grey-bot gandalf-the-grey-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sem novos comentários de linha nesta rodada.

@gandalf-the-grey-bot

Copy link
Copy Markdown

Gandalf, análise 4 · commit 4036103

Desde a análise 3: a árvore não mudou; F1 segue corrigido e não há pontos abertos. O CI deste SHA passou: build, test, pr-convention e compatibilidade para Node 18 e 22 (run).

Decisão: mergeável.

Aqui o meu check é obrigatório: depois de um push, comente /gandalf para eu revisar o commit novo e liberar o merge.

@JoaoLuisQuirino

Copy link
Copy Markdown
Contributor Author

/gandalf

1 similar comment
@JoaoLuisQuirino

Copy link
Copy Markdown
Contributor Author

/gandalf

…plan e no item plan do history (#138)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@JoaoLuisQuirino JoaoLuisQuirino changed the title feat(agent): sdk-core 0.3.6 com a lista de passos do turno no evento plan e no item plan do history (#138) feat(agent): sdk-core 0.3.7 com a lista de passos do turno no evento plan e no item plan do history (#138) Oct 27, 2026
@JoaoLuisQuirino

Copy link
Copy Markdown
Contributor Author

/gandalf

@gandalf-the-grey-bot gandalf-the-grey-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sem novos comentários de linha neste delta.

@gandalf-the-grey-bot

gandalf-the-grey-bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Gandalf, análise 5 · commit f2a07b6

Desde a análise 4: o SDK passou a solicitar include=plan nas leituras e atualizou a release para 0.3.7; o tratamento de PLAN já revisado permanece. F1 (lastSequence) segue corrigido e a conversa está resolvida (conversa); nenhum achado novo.

CI no SHA revisado passou: pr-convention, build, test e compatibilidade para Node 18/22 (run).

Decisão: mergeável.

Aqui o meu check é obrigatório: depois de um push, comente /gandalf para eu revisar o commit novo e liberar o merge.

@JoaoLuisQuirino
JoaoLuisQuirino merged commit 86dfa19 into main Oct 28, 2026
8 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Lista de passos do turno (plan do T3) ao vivo e no history

2 participants