Minor: a feature e nova (a tool delegate_to alcancavel, as tools do subagente
delegado, e POST /v1/kinds/{kind}/documents). O teto do CLI move junto.
OS QUATRO ARQUIVOS, SEIS VALORES — a contagem que o AGENTS.md agora documenta e
que este commit confere antes de trocar:
• packages/sdk-py/pyproject.toml → 0.39.0
• packages/cli/pyproject.toml → 0.39.0, mais o teto dna-sdk DUAS vezes
(a dep E o comentario que a repete)
• packages/client-py/pyproject.toml → 0.26.0 → 0.39.0
• packages/client-ts/package.json → 0.26.0 → 0.39.0
OS CLIENTS ENTRAM NO LOCKSTEP, e o argumento nao e conveniencia: eles sao
GERADOS a partir do OpenAPI do SDK. O conteudo deles e derivado. Um client cujo
numero diz QUAL API ele fala e mais informativo que um numero independente —
dna-client 0.39.0 fala dna-sdk 0.39.0. O salto 0.26 → 0.39 e custo unico que
compra clareza permanente.
E conserta o release-client, que falhava em TODA release ha cinco versoes
(0.35.3, 0.36.0, 0.37.0, 0.37.1, 0.38.0) porque exigia que a tag casasse com
clients que nunca estiveram em lockstep. Guarda cronicamente vermelha e pior que
guarda nenhuma: ninguem a le, e quando ela apontar algo real ninguem vai olhar.
O dna-client tem historico real no PyPI (0.25.1, 0.25.2, 0.26.0), entao o salto
foi decisao consciente e nao descuido — versao so precisa crescer, e cresce.
Verificado: 4622 testes, brand_guard, gitleaks. A unica vermelha
(test_imported_claude_fact_is_recallable_by_paraphrase) nao e portao — o CI
instala .[dev,runtime] sem embed-onnx e o importorskip a pula la.
Work-Item: Story/s-stamp-dated-spec-fields
Co-authored-by: Jefferson Barnabé <3090620+ruinosus@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: dna-sdlc[bot] <302582850+dna-sdlc[bot]@users.noreply.github.com>