Skip to content

Releases: ils15/pantheon-opencode

v1.5.0

Choose a tag to compare

@ils15 ils15 released this 16 Sep 14:46
856d922

🆕 What's New

  • Delegação nativa via task() — o motor legado pantheon_delegate (~3.900 linhas) foi removido por completo. A delegação agora usa o task() nativo do host, com child sessions reais. Camada fina: task-result-guard (completion verification), native-task-status (status classification), read-only enforcement.

  • TUI Delegations — painel visual em tempo real no terminal. Status por estado (running/completed/failed), cores, spinner fluido (80ms/frame independente do poll), filtro por sessão ativa, recência 24h, ceiling dinâmico, retenção visual (done 2min, failed 10min).

  • Read-only enforcement — sessões de agentes read-only (apollo, gaia) bloqueiam todas as tools mutantes: edit, write, bash, task, hashline_edit. Enforcement duplo: registro + parity test com routing.yml.

  • CI/CD modernizada — 22 GitHub Actions SHA-pinned, gitleaks v3, Dependabot, CodeQL +python, permissões reduzidas, cache npm/pip.

  • Lean codebase — ~38% dos arquivos de teste consolidados, ~17 módulos mortos removidos, instructions deduplicadas (−660 tokens).

🐞 Fixed

  • Painel Delegations vazio (crítico, beta.18) — canal session.children chamava API com shape v1 num cliente v2 → ~181k erros/s → painel vazio. Corrigido safeSessionPath/buildChildrenPath.

  • Stale busy (beta.20) — children com status busy stale (>30min) agora são completed. O opencode mantém entradas busy para sessões concluídas; TUI detecta e marca como done.

  • Board corruption (beta.18) — testes sem isolamento escreviam no board real. Fix: chdir para projeto temporário antes do import.

  • Spinner travado (beta.19) — animação acoplada ao poll cycle. Fix: timer independente 80ms/frame.

  • Read-only bypass no retry (beta.7) — child retried re-aplicava read-only enforcement, fechando bypass.

  • State corruption (beta.8) — board sem fsync/rename. Fix: temp file + fsync + rename atômico.

  • Signal leak (beta.7).signal.json órfãas. Fix: delete no finalize path.

⚠️ Known Issues

  • Tarball CDN pode levar até 15 minutos para propagar após publish (provenance-signed).
  • pantheon_delegate pode aparecer em configs legadas — o host ignora silenciosamente.

✅ Closed Issues

  • 20 betas publicadas e validadas em produção (beta.1→beta.20)
  • Motor legado completamente removido (zero referências em src/)
  • 6 módulos críticos revisados por Themis — APPROVED (OWASP, read-only, secrets, input validation, error handling, dead code)
  • ~881 testes relevantes consolidados (engine 72, App 10, TUI 61, delegation 315, task-result 163, native-status 260)
  • Node 22+ exigido

Pantheon v1.5.0-beta.20

Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Sep 12:16
79ed812

<!-- Add new changes here. Running node scripts/versioning.mjs apply will
move this section to a versioned entry and reset the template below. -->

🐞 Fixed

  • Fixed — painel Delegations: children com status busy stale (>30min sem
    atualização) agora são classificadas como completed (não running). O
    opencode mantém entradas busy no mapa de status para sessões já concluídas;
    o TUI agora detecta e marca como done.

v1.5.0-beta.19

v1.5.0-beta.19 Pre-release
Pre-release

Choose a tag to compare

@ils15 ils15 released this 16 Sep 11:06
f58b23e

Painel Delegations: status ausente→done, recência 24h, spinner fluido (80ms/frame).

v1.5.0-beta.18

v1.5.0-beta.18 Pre-release
Pre-release

Choose a tag to compare

@ils15 ils15 released this 16 Sep 01:00
a156a7c

Fix do painel Delegations (shape v2 de session.children); isolamento de testes do board; 1.5.0-beta.18

v1.5.0-beta.17

v1.5.0-beta.17 Pre-release
Pre-release

Choose a tag to compare

@ils15 ils15 released this 15 Sep 21:15
4bf2ab3

Beta 17 — consolidação da camada fina sobre o motor nativo do OpenCode.

  • Remoção do motor próprio pantheon_delegate em favor do task() nativo do OpenCode.
  • TUI: exposição de session.children e session.status.
  • Enforcement read-only via chat.params.
  • Camada fina (thin layer) mantida sobre o runtime nativo.

v1.5.0-beta.16

v1.5.0-beta.16 Pre-release
Pre-release

Choose a tag to compare

@ils15 ils15 released this 15 Sep 15:58
f29942d

<!-- Add new changes here. Running node scripts/versioning.mjs apply will
move this section to a versioned entry and reset the template below. -->

🆕 What's New

  • Modernização CI/supply-chain: 22 actions SHA-pinadas; gitleaks-action v3
    (fix crítico — a v2 morria com Node 20 em 2026-09-16) com CLI 8.30.1; cache
    npm/pip; Dependabot; CodeQL +python e codeql-config; permissões reduzidas
    no docs.yml; job version-check fundido no validate; upload-artifact v7
    e download-artifact v8.
  • Lean: ~17 módulos mortos removidos de src/pantheon/, docs/scripts
    obsoletos, teste//testes/, Dockerfile/docker-compose (de outro projeto)
    e caches; ~38% dos arquivos de teste removidos/consolidados; testes mínimos
    readicionados para os módulos vivos (tool-ceiling, native-probe).
  • Instructions: deduplicação das instruções compartilhadas — contexto menor
    sem perder nenhuma regra.

🐞 Fixed

  • 2 flakes determinísticos eliminados: TTL do MCP persistence
    (test_ttl_expiry_real_time) e logger.test.mjs deixaram de depender de
    timing/carga do host.
  • Refs stale corrigidas: referências de versão/ambiente atualizadas para
    Node 22+.

v1.5.0-beta.15

v1.5.0-beta.15 Pre-release
Pre-release

Choose a tag to compare

@ils15 ils15 released this 15 Sep 13:11
416df9a

v1.5.0-beta.15

🆕 What's New

  • Delegation read devolve o relatório completo: o retorno de read passa a ler o relatório integral do disco (com cap configurável e marker explícito de truncamento) em vez do recibo resumido — paridade garantida entre o caminho nativo e o legado.
  • sanitizeReceiptText UTF-8-safe: a sanitização de recibos deixou de corromper caracteres multibyte; acentuação e demais codepoints UTF-8 são preservados no caminho nativo e no legado.
  • TUI — cor de status na row inteira: cada linha do painel Delegations passa a ser pintada pelo estado — vermelho = falha, verde = concluído, amarelo = em andamento — com o glyph mantido como canal redundante para acessibilidade.

🐞 Fixed

  • TUI — painel Delegations só da sessão ativa: o painel deixa de renderizar rows cross-session/órfãs que causavam "Session not found" ao clicar; a lista agora cobre apenas a sessão ativa, mantendo a retenção de concluídas (2 min) e falhas (10 min).
  • Guards de estado e navegação órfã: transições prematuras para done são bloqueadas e a navegação defensiva ignora alvos órfãos, evitando seleção inválida no painel.
  • Isolamento do board nos testes: testes que importam o plugin real agora isolam o BackgroundJobBoard, eliminando o fantasma "preserve this running delegation"; o board real foi limpo.
  • Lean no core: 17 módulos mortos de src/pantheon/ removidos, ~38% dos arquivos de teste removidos/consolidados e docs/scripts órfãos limpos, com testes mínimos readicionados para os módulos vivos (tool-ceiling, native-probe).
  • Flake de TTL determinístico: test_ttl_expiry_real_time deixou de competir com a truncagem de microssegundos do SQLite — o teste agora espera o início de um segundo limpo antes do store e usa margem sobre o TTL, eliminando o flake dependente de carga (test-only).

Install: npm i -g pantheon-opencode@beta
Dist-tag: beta

v1.5.0-beta.9

v1.5.0-beta.9 Pre-release
Pre-release

Choose a tag to compare

@ils15 ils15 released this 14 Sep 03:49
8c54561

[v1.5.0-beta.9] - 2026-09-14

Novidades

  • TUI delegations nativas (gated): painel Delegations renderiza N delegacoes native + M pantheon com tag [native], live task em tempo real, click navega para sessao. Implementado em src/plugins/tui/src/index.tsx com dist rebuildado.
  • 93 testes TUI delegations: suite tests/pantheon/tui-delegations.test.ts com 93/93 passando (tsc + biome OK).
  • E2E beta.8 PASS (referencia): baseline E2E da beta.8 mantido como referencia de estabilidade para beta.9.

Fixed

  • Removido diretorio testyes/ (artefato de teste).
  • Truncado hooks.log para baseline limpo de beta.9.

PR: #128 (squash 8c54561) — release/1.5.0-beta.9 -> main

v1.5.0-beta.14

v1.5.0-beta.14 Pre-release
Pre-release

Choose a tag to compare

@ils15 ils15 released this 14 Sep 23:56
86748a8

[v1.5.0-beta.14] - 2026-09-14

<!-- Add new changes here. Running node scripts/versioning.mjs apply will
move this section to a versioned entry and reset the template below. -->

🆕 What's New

  • Ordenação active-first: delegações ativas aparecem antes das concluídas,
    falhas e canceladas no painel TUI.
  • Overflow active: quando há mais delegações ativas que o teto visível, o
    excedente ativo permanece representado na linha de overflow.

🐞 Fixed

  • Retenção visual: concluídas permanecem visíveis por 2 min e falhas por
    10 min antes de saírem do painel; canceladas seguem a retenção configurada.

⚠️ Known Issues

  • Stale running warning: jobs em estado running além do limite esperado
    recebem um aviso visual de stale no painel.

v1.5.0-beta.13

v1.5.0-beta.13 Pre-release
Pre-release

Choose a tag to compare

@ils15 ils15 released this 14 Sep 18:22
0162774

[v1.5.0-beta.13] - 2026-09-14

🆕 What's New

  • TUI status-only — rows simplificadas: cada linha do painel Delegations passa
    a ser {glyph} {alias} {elapsed} + desc muted — um glyph de status, uma única
    identidade e o tempo decorrido, com a descrição em tom muted. São 4 glyphs
    (running animado, completed, error, cancelled/retry), sem toggle
    [Sessão]/[Tudo], sem prefixos nat:/pan: e sem losango ◇/◆.
  • Header active/done/failed: o cabeçalho do painel resume apenas esses
    três contadores sobre a lista completa (todas as sessões), sem nat:/pan:.
  • Ceiling 8: no máximo 8 linhas visíveis (live-first); o excedente colapsa em
    uma única linha … +N more.
  • Board read (jobs de todas as sessões): o painel lê o BackgroundJobBoard
    (.pantheon/board/state.json), então jobs pantheon_delegate de qualquer
    sessão aparecem — não só os filhos nativos da sessão focada.
  • 118 testes TUI delegations: tests/pantheon/tui-delegations.test.ts com
    118/118 passando, cobrindo rows status-only, header active/done/failed, ceiling
    e board read cross-session.

🐞 Fixed

  • Sanitização de dead code: removidos helpers, tipos e estado órfãos do
    painel Delegations (toggle de escopo [Sessão]/[Tudo], prefixos curtos
    nat:/pan:, glyphs por estado e paginação de arquivo morto) que sobraram do
    refactor status-only.
  • Board merge preserva sessão conhecida: um record do board com
    parentSessionID vazio não sobrescreve mais a sessão já atribuída à linha.

Full diff: v1.5.0-beta.12...v1.5.0-beta.13