Files
msd-core/docs/pt-BR/how-to/update-gsd.md
Tom Boucher cf15682d1c enhance(#3028): responsive Markdown separators instead of fixed-width rules (#3789)
* feat(#3028): responsive Markdown separators instead of fixed-width rules

Stage banners, checkpoints, completion and error panels used fixed-width
runs of box-drawing characters -- a 53-column heavy rule and a 62-column
double-line box. Those runs are ordinary text to a Markdown-rendering
host, so in a narrower pane they wrap and the border comes apart from
the heading it framed.

Shipped content now emits an ATX heading for a titled section and a
blank-line-delimited --- for a break between sections, both of which
adapt to the available width. The same convention is applied to the
three code sites that built these strings at runtime: the UAT
checkpoint renderer, the milestone-close audit report, and the TDD
review checkpoint table.

Removing the box also removes its only reason to exist -- the
east-asian-width padding helpers that kept its right border aligned
(checkpointBoxLine, displayWidth, isWideCodePoint, ZERO_WIDTH_MARK_RE,
CHECKPOINT_BOX_WIDTH). RTL directional isolation is unchanged.

The convention is specified in gsd-core/references/ui-brand.md and
enforced across all shipped content by tests/responsive-separators.test.cjs.

Refs #3028

* test(#3028): pin the heading form in checkpoint and audit-report assertions

These suites asserted the exact box borders and the 62-column padded
banner interior. With the box gone they assert the ### heading form,
the --- break and the bolded instruction line, and each now carries a
positive assertion that no box character remains -- which is what pins
the fix rather than merely tolerating it.

Language coverage is converted, not dropped: Japanese, Chinese, Korean,
Hindi and Arabic all still assert their rendered banner, and the Arabic
case still asserts the RTL directional isolates the box removal must
not disturb. Adds a case for a banner longer than the old inner width,
which previously produced a ragged border and now has none.

Refs #3028

* chore(#3028): acknowledge execute-plan.md growth from the checkpoint display spec

The checkpoint_protocol display spec described the drawn box; it now
describes the heading, the --- break and the bolded action prompt,
which costs 22 bytes (40111 -> 40133, 827 under the cap).

Appended to the existing #3370 fragment rather than filed as a new one:
a growth ack keys on the bare filename and #3370 already declares
execute-plan.md, so a second source naming it would be a hard
duplicate-key error. Same supersede-by-append route #3370 took for the
spent #2652 fragment.

Refs #3028

* docs(#3028): state the load-bearing half of the separator rule, and amend the zh-CN reference

Review found three things.

The rule as first written demanded a blank line above AND below every
---. Only the one above is load-bearing: it is what stops CommonMark
reading the rule as a setext underline for the line above. The one below
is cosmetic, because a thematic break is a leaf block. The rule now says
that, with the reason, instead of asserting a stricter form the content
does not keep.

The zh-CN reference had received the mechanical box-to-heading swap but
none of the prose behind it: it still claimed a 62-character checkpoint
width and still listed --- among forbidden mixed banner styles, so it
contradicted the convention it was translating. It now carries the
separator section, the setext reasoning, the unconditional-vs-per-runtime
rationale and a corrected anti-pattern list, in Chinese.

The user guide asserted that a heading is not a degradation anywhere.
That is an assertion, not a demonstration. It now says what was actually
traded away in a plain terminal, points at the recorded rationale, and
invites the report that would justify the capability flag instead.

Refs #3028

* chore(#3028): backfill changeset PR number

Refs #3028

---------

Co-authored-by: sim <sim@local>
2026-08-23 22:38:12 -04:00

5.4 KiB

Como atualizar o GSD Core

Atualize uma instalação existente do GSD Core para a versão mais recente, visualize o changelog antes de confirmar e recupere personalizações locais que a atualização sobrescreveria.

O que você precisa: O mesmo ambiente de execução para o qual o GSD está instalado. O comando de atualização re-executa o instalador internamente, portanto requer Node.js e npx disponíveis (mesmos requisitos da instalação original).


O caminho padrão de atualização

De dentro do seu ambiente de execução de IA, execute:

/gsd-update

O GSD irá:

  1. Detectar a versão instalada e o escopo da instalação (global ou local).
  2. Verificar no npm a versão mais recente do @opengsd/gsd-core.
  3. Buscar o changelog e exibir o que mudou entre sua versão instalada e a mais recente.
  4. Solicitar confirmação antes de alterar qualquer coisa.
  5. Fazer backup de quaisquer arquivos adicionados pelo usuário encontrados dentro de diretórios gerenciados pelo GSD para gsd-user-files-backup/.
  6. Executar o instalador (npx @opengsd/gsd-core@latest --<runtime> --<scope>).
  7. Limpar o cache de verificação de atualização para que o indicador na barra de status seja redefinido.
  8. Informar se arquivos GSD modificados localmente foram copiados para gsd-local-patches/.

Reinicie seu ambiente de execução após a atualização para carregar os novos comandos e agentes.


Flags

Flag O que faz
--sync Após atualizar, sincroniza habilidades do registro GSD
--reapply Após atualizar, mescla arquivos GSD modificados localmente de volta a partir de gsd-local-patches/
/gsd-update --sync        # Update and sync skills
/gsd-update --reapply     # Update and reapply local patches

Revisando o changelog antes de atualizar

/gsd-update sempre exibe o diff do changelog entre sua versão instalada e a mais recente antes de solicitar confirmação. Não é necessário acessar o GitHub separadamente. A saída tem a seguinte aparência:

## GSD Update Available

Installed: 1.39.0
Latest:    1.41.0

### What's New

---

[changelog entries for 1.40.0 and 1.41.0]

---

Proceed with update? [Yes, update now / No, cancel]

Se o changelog não puder ser obtido (sem acesso à rede, falha no npm), a atualização ainda prossegue após a confirmação — ela não é bloqueada pela disponibilidade do changelog.


Recuperando personalizações locais

Arquivos que você adicionou dentro de diretórios gerenciados pelo GSD

Se você colocou arquivos personalizados dentro de diretórios que o GSD gerencia (por exemplo, agentes personalizados com o prefixo gsd- ou arquivos extras em commands/gsd/), o instalador os detectará e os copiará para gsd-user-files-backup/ antes de limpar esses diretórios. Após a atualização, restaure-os manualmente a partir desse local de backup.

Arquivos colocados fora de diretórios gerenciados pelo GSD — agentes personalizados sem o prefixo gsd-, comandos personalizados fora de commands/gsd/, seus arquivos CLAUDE.md e hooks personalizados — nunca são tocados pelo instalador.

Arquivos GSD que você modificou diretamente

Se você editou um arquivo instalado pelo GSD (por exemplo, ajustando o prompt de sistema de um agente), o instalador detecta a modificação por meio de uma comparação de hash com seu manifesto, faz backup do arquivo em gsd-local-patches/ e, em seguida, o substitui pela nova versão. Após a atualização:

/gsd-update --reapply

Esse comando mescla suas modificações de gsd-local-patches/ de volta aos arquivos recém-instalados.

Se você pulou o --reapply após uma atualização anterior e deseja aplicar os patches agora:

/gsd-update --reapply

É seguro executar --reapply de forma independente sem acionar um novo download — se você já estiver na versão mais recente, o GSD ignora a etapa de instalação e vai direto para a reaplicação dos patches.


Quando o npm está indisponível

Se npx @opengsd/gsd-core@latest falhar devido a uma falha no npm, restrições de rede ou porque você está trabalhando a partir do repositório de código-fonte, use o procedimento de atualização manual em docs/manual-update.md. Esse documento aborda como fazer pull do commit mais recente, compilar o dist dos hooks e executar node bin/install.js diretamente.


Se você já está na versão mais recente

/gsd-update encerra imediatamente com uma mensagem de confirmação — sem download, sem instalação, sem necessidade de reinicialização.


Migrações do instalador

Cada versão do GSD pode incluir migrações do instalador que renomeiam, movem ou removem arquivos gerenciados. A camada de migração é executada automaticamente antes que o novo payload do pacote seja gravado. Migrações que afetariam arquivos que você modificou solicitam confirmação em vez de agir silenciosamente. Para o design completo e o registro do contrato de configuração de tempo de execução, consulte docs/installer-migrations.md.


Relacionados