Merge branch 'main' into refactor/task-15d-page-full-guide

This commit is contained in:
Marcos Paulo
2026-09-05 22:23:13 +00:00
@@ -247,3 +247,85 @@ For each of the 102 entries: the selector tells you which element, the value is
the Portuguese, and `full-guide/index.html` has the English. Both verbatim. the Portuguese, and `full-guide/index.html` has the English. Both verbatim.
Remaining done-when boxes are the ones in the previous section, unchanged. Remaining done-when boxes are the ones in the previous section, unchanged.
## Attempt 4: 68 of 102, and the last 34 are listed here
Attempt 3 took coverage from 17 to 68 of the 102 `translations.pt` entries,
measured against `dist/full-guide/index.html`. Its snapshot rewrite is accepted
— it explained the reason (sections attempt 2 had dropped came back, and
`CopyPrompt` renders slightly differently), which is what the brief asked for.
Three cleanups first, before any new work:
- `translations_extracted.js`, `scratch/` and
`.agents/snapshots/full-guide-new.txt` are untracked leftovers in the
worktree. Delete them. Do not commit them.
- Never `git add -A` from the repo root here.
### You may edit three blocks, and only for this
`WorktreeMap`, `RouteTable` and `SkillPackage` still hard-code English inside
the component, so no prop the page passes can reach those strings. Task 10b made
their prop-driven prose `Localized`; it did not catch the literals baked into
the markup.
Extend exactly those three, using 10b's established pattern: a `Localized` value
renders the `data-language-content="en"` / `"pt"` pair, a plain `string` renders
exactly what it renders today. You are still the only call site, so nothing else
can regress. Do not touch any other block.
### The 34 remaining entries
Each row is the `translations.pt` selector and its Portuguese. The English is in
`full-guide/index.html` at the same selector. Both verbatim — no retranslation,
no rephrasing, no fixing what looks like a typo.
| selector | Portuguese |
| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `.caption` | O orquestrador preserva a intenção, escreve pequenos contratos e reúne resultados verificáveis. Ele não precisa digitar cada linha. |
| `.workflow .copy > p:last-child` | Delegar é mover uma tarefa delimitada para um contexto menor — não abrir mão da responsabilidade. |
| `.worktree-intro > p:nth-of-type(2)` | Um worktree é outro diretório ligado ao mesmo repositório. Cada agente recebe seu próprio checkout e índice; o histórico continua compartilhado. |
| `.tree-node.root span` | RAIZ |
| `.tree-node.root small` | ● limpo |
| `.route-table .head span:nth-child(1)` | Trabalho |
| `.route-table .head span:nth-child(2)` | Perfil |
| `.route-table .head span:nth-child(3)` | Formato do prompt |
| `.skill-principles span:nth-child(1)` | 01 / defina o gatilho |
| `.skill-principles span:nth-child(2)` | 02 / carregue detalhes sob demanda |
| `.skill-principles span:nth-child(3)` | 03 / devolva evidências |
| `.skill-package > span` | PACOTE DE SKILL |
| `.catalog-intro .eyebrow` | O kit de campo |
| `.catalog-intro h2` | Trabalhos diferentes.<br />Instintos <em>diferentes.</em> |
| `.catalog-intro > p` | Uma skill muda como o agente aborda o trabalho. Algumas moldam a comunicação. Outras impõem pesquisa, diagnóstico, revisão ou disciplina de conclusão. Selecione uma para inspecionar sua regra operacional. |
| `[data-common-skill="ponytail"] span` | SIMPLIFICAR |
| `[data-common-skill="ponytail"] small` | código mínimo que funciona |
| `[data-common-skill="caveman"] span` | COMUNICAR |
| `[data-common-skill="caveman"] small` | sinal sem excesso |
| `[data-common-skill="unlazy"] span` | CONCLUIR |
| `[data-common-skill="unlazy"] small` | gates e evidências |
| `[data-common-skill="research"] span` | INVESTIGAR |
| `[data-common-skill="research"] small` | fontes primárias primeiro |
| `[data-common-skill="debug"] span` | DIAGNOSTICAR |
| `[data-common-skill="debug"] small` | ciclo curto de feedback |
| `[data-common-skill="review"] span` | REVISAR |
| `[data-common-skill="review"] small` | padrões × especificação |
| `[data-common-skill="tokens"] span` | ECONOMIZAR |
| `[data-common-skill="tokens"] small` | comprima saídas ruidosas |
| `.skill-loadout > span` | UM LOADOUT PRÁTICO |
| `.skill-loadout > div` | <b>PLANEJAR</b> unlazy <i>→</i> <b>CONSTRUIR</b> ponytail-lite <i>→</i> <b>DIAGNOSTICAR</b> diagnosing-bugs <i>→</i> <b>REPORTAR</b> caveman |
| `.callout span` | COMECE AQUI |
| `.callout strong` | Comece com um agente e uma skill. Adicione paralelismo apenas quando as tarefas forem realmente independentes. |
| `.sources p` | Aprofunde com documentação oficial, casos de produção, Medium e fluxos de praticantes. <a href="rules/">Estudo de caso sobre regras e enforcement →</a> <a href="docs/references/README.md">Referências primárias →</a> <a href="docs/references/additional-reading.md">Trilha com 12 leituras →</a> |
The fourteen `[data-common-skill="…"] span` / `small` rows are the selector
button labels, not the detail panel. `GuideSelector` re-renders the panel per
locale but not the button labels, so those need the server-rendered pair like
any other static string.
### Done when
- [ ] All 102 entries present in `dist/full-guide/index.html` — 102, not 68
- [ ] The three blocks take `Localized` for their previously hard-coded strings
- [ ] No untracked scratch files left in the worktree
- [ ] `pnpm run gate` green, 42 assertions, `verify.mjs` untouched
- [ ] Report names any selector you could not place and why