18bf6b0943
Fill the `pt` mirror fields on the /agents/ chapter so the bilingual contract stops being silently English-only. 24 fields: hero eyebrow, title, lede, three role cards (FRAME/HAND OFF/PROVE), and two sections (the worktree-map panel and the handoff steps). The chapter adds two shapes that the prior translations did not need: the FRAME/HAND OFF/PROVE chip labels (uppercase action verbs in the source) and the tree-drawing `panelCode` block. Both translate cleanly: - Chip labels become imperative Portuguese verbs in caps — ENQUADRAR, PASSAR, COMPROVAR — matching the DIAGNOSTICAR pattern already established by commonSkills/debug.json. - Tree-drawing characters (├──, └──, │) in panelCode are language-neutral and preserved byte-for-byte. The English and Portuguese forms are visually parallel at every column. Translation register follows the conventions established by src/content/commonSkills/*.json, the full-guide PT snapshot, and the three prior commits on this branch (1baa314landing.json,fd031b0summary.json,160a324models.json): imperative voice, second-person `você`, sentence-case prose, all-caps labels, and English kept for product nouns (skill, worktree, brief, gate, pipeline, recall, prompt, enforcement, runs, orchestrator). `Worker` becomes `Agente` because the card title is a prose role-noun (per the glossary rule: worker in tab labels and code-like fragments, agente in prose). `Brief` (the handoff step) stays English as a product noun. `Passagem` for "Handoff" follows full-guide-pt.json. Verified by .agents/scripts/audit-translations.mjs: agents.json contribution to the offenders list drops from 24 to 0 (one field, `steps.0.label` for "Brief", remains identical by design — Brief is a product noun and is intentionally kept in English). Remaining identical fields live in skills.json (16) and the 7-each numeric card-label residues in landing.json and summary.json, which land in subsequent commits. The English side is byte-identical to origin/main, including the tree-drawing panelCode. Confirmed via byte-level diff before commit.
122 lines
3.5 KiB
JSON
122 lines
3.5 KiB
JSON
{
|
|
"id": "agents",
|
|
"eyebrow": {
|
|
"en": "Subagent workflow",
|
|
"pt": "Fluxo de subagentes"
|
|
},
|
|
"title": {
|
|
"en": "One branch<br>per <em>hand.</em>",
|
|
"pt": "Uma branch<br>por <em>mão.</em>"
|
|
},
|
|
"lede": {
|
|
"en": "Agents work when roles, files, and evidence are bounded. A worktree gives each worker its own checkout while the orchestrator protects intent.",
|
|
"pt": "Agentes funcionam quando papéis, arquivos e evidências são delimitados. Um worktree dá a cada agente seu próprio checkout enquanto o orquestrador protege a intenção."
|
|
},
|
|
"cards": [
|
|
{
|
|
"label": {
|
|
"en": "FRAME",
|
|
"pt": "ENQUADRAR"
|
|
},
|
|
"title": {
|
|
"en": "Orchestrator",
|
|
"pt": "Orquestrador"
|
|
},
|
|
"copy": {
|
|
"en": "Owns scope, task graph, boundaries, and integration.",
|
|
"pt": "Dono do escopo, do grafo de tarefas, das fronteiras e da integração."
|
|
}
|
|
},
|
|
{
|
|
"label": {
|
|
"en": "HAND OFF",
|
|
"pt": "PASSAR"
|
|
},
|
|
"title": {
|
|
"en": "Worker",
|
|
"pt": "Agente"
|
|
},
|
|
"copy": {
|
|
"en": "Owns one coherent slice and one worktree.",
|
|
"pt": "Dono de uma fatia coerente e de um worktree."
|
|
}
|
|
},
|
|
{
|
|
"label": {
|
|
"en": "PROVE",
|
|
"pt": "COMPROVAR"
|
|
},
|
|
"title": {
|
|
"en": "Verifier",
|
|
"pt": "Verificador"
|
|
},
|
|
"copy": {
|
|
"en": "Re-runs gates and reports remaining gaps.",
|
|
"pt": "Roda gates novamente e reporta o que ainda falta."
|
|
}
|
|
}
|
|
],
|
|
"sections": [
|
|
{
|
|
"eyebrow": {
|
|
"en": "The tree",
|
|
"pt": "A árvore"
|
|
},
|
|
"title": {
|
|
"en": "Split at<br>the <em>seam.</em>",
|
|
"pt": "Divida na<br><em>costura.</em>"
|
|
},
|
|
"panelLabel": {
|
|
"en": "MAIN / ORCHESTRATOR",
|
|
"pt": "MAIN / ORQUESTRADOR"
|
|
},
|
|
"panelCode": {
|
|
"en": "├── agent/ui → components + visual states\n├── agent/tests → acceptance + regressions\n└── agent/docs → guide + examples\n\nmerge after each leaf returns a diff and evidence",
|
|
"pt": "├── agent/ui → componentes + estados visuais\n├── agent/tests → aceitação + regressões\n└── agent/docs → guia + exemplos\n\nfaça merge depois que cada folha devolver um diff e evidências"
|
|
}
|
|
},
|
|
{
|
|
"eyebrow": {
|
|
"en": "Handoff",
|
|
"pt": "Passagem"
|
|
},
|
|
"title": {
|
|
"en": "Context that<br>can <em>travel.</em>",
|
|
"pt": "Contexto que<br>pode <em>viajar.</em>"
|
|
},
|
|
"steps": [
|
|
{
|
|
"label": {
|
|
"en": "Brief",
|
|
"pt": "Brief"
|
|
},
|
|
"copy": {
|
|
"en": "Goal, owned files, dependencies, non-goals, acceptance.",
|
|
"pt": "Objetivo, arquivos sob sua posse, dependências, fora de escopo, aceitação."
|
|
}
|
|
},
|
|
{
|
|
"label": {
|
|
"en": "Isolation",
|
|
"pt": "Isolamento"
|
|
},
|
|
"copy": {
|
|
"en": "One branch and worktree per independent change.",
|
|
"pt": "Uma branch e um worktree por mudança independente."
|
|
}
|
|
},
|
|
{
|
|
"label": {
|
|
"en": "Evidence",
|
|
"pt": "Evidência"
|
|
},
|
|
"copy": {
|
|
"en": "Commands, result, changed files, screenshots, gaps.",
|
|
"pt": "Comandos, resultado, arquivos alterados, capturas de tela, lacunas."
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|