@orchestrator-claude/definitions 3.34.0 → 3.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/ciclo-engineer.md +267 -0
- package/agents/orchestrator.md +14 -3
- package/dist/install/DevCheckoutDetector.d.ts +30 -13
- package/dist/install/DevCheckoutDetector.d.ts.map +1 -1
- package/dist/install/DevCheckoutDetector.js +33 -16
- package/dist/install/DevCheckoutDetector.js.map +1 -1
- package/hooks/agent-git-guard.mjs +118 -0
- package/hooks/agent-git-guard.ts +166 -0
- package/hooks/hooks.json +30 -15
- package/hooks/playwright-output-guard.mjs +136 -0
- package/hooks/playwright-output-guard.ts +130 -0
- package/hooks/pre-agent-dispatch.mjs +346 -0
- package/hooks/pre-agent-dispatch.ts +287 -0
- package/hooks/session-start.mjs +8 -36
- package/hooks/session-start.ts +15 -72
- package/hooks/subagent-stop.mjs +0 -18
- package/hooks/subagent-stop.ts +29 -13
- package/hooks/verification-before-completion.mjs +105 -0
- package/hooks/verification-before-completion.ts +97 -0
- package/hooks-settings-template.json +19 -4
- package/manifest.json +54 -6
- package/package.json +1 -1
- package/personas/INDEX.md +46 -0
- package/skills/ciclo-lane-dispatch/SKILL.md +158 -0
- package/skills/orchestrator/SKILL.md +3 -1
package/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "orchestrator-definitions/v1",
|
|
3
3
|
"namespace": "orchestrator",
|
|
4
|
-
"version": "3.
|
|
5
|
-
"generatedAt": "2026-07-
|
|
4
|
+
"version": "3.35.0",
|
|
5
|
+
"generatedAt": "2026-07-27T20:50:12.058Z",
|
|
6
6
|
"definitions": {
|
|
7
7
|
"agents": [
|
|
8
8
|
{
|
|
@@ -45,6 +45,14 @@
|
|
|
45
45
|
"supersedes": null,
|
|
46
46
|
"metadata": {}
|
|
47
47
|
},
|
|
48
|
+
{
|
|
49
|
+
"slug": "ciclo-engineer",
|
|
50
|
+
"file": "agents/ciclo-engineer.md",
|
|
51
|
+
"version": "1.0.0",
|
|
52
|
+
"checksum": "sha256:f370f35c80527b16658984e9da65cb58ec4bec74d5647eb6102a4e2f78871a0a",
|
|
53
|
+
"supersedes": null,
|
|
54
|
+
"metadata": {}
|
|
55
|
+
},
|
|
48
56
|
{
|
|
49
57
|
"slug": "code-archaeologist",
|
|
50
58
|
"file": "agents/code-archaeologist.md",
|
|
@@ -129,7 +137,7 @@
|
|
|
129
137
|
"slug": "orchestrator",
|
|
130
138
|
"file": "agents/orchestrator.md",
|
|
131
139
|
"version": "1.0.0",
|
|
132
|
-
"checksum": "sha256:
|
|
140
|
+
"checksum": "sha256:4b7c8555d9fc7f50bb4c39f014bebc18ca1b1fd013517442816e289adce4ac92",
|
|
133
141
|
"supersedes": null,
|
|
134
142
|
"metadata": {}
|
|
135
143
|
},
|
|
@@ -271,6 +279,14 @@
|
|
|
271
279
|
"supersedes": null,
|
|
272
280
|
"metadata": {}
|
|
273
281
|
},
|
|
282
|
+
{
|
|
283
|
+
"slug": "ciclo-lane-dispatch",
|
|
284
|
+
"file": "skills/ciclo-lane-dispatch/SKILL.md",
|
|
285
|
+
"version": "1.0.0",
|
|
286
|
+
"checksum": "sha256:6dfb9a1687c7bc265016b3497609a3e1955af1edd13cbc846158fc30819a3d02",
|
|
287
|
+
"supersedes": null,
|
|
288
|
+
"metadata": {}
|
|
289
|
+
},
|
|
274
290
|
{
|
|
275
291
|
"slug": "compositional-intelligence",
|
|
276
292
|
"file": "skills/compositional-intelligence/SKILL.md",
|
|
@@ -331,7 +347,7 @@
|
|
|
331
347
|
"slug": "orchestrator",
|
|
332
348
|
"file": "skills/orchestrator/SKILL.md",
|
|
333
349
|
"version": "1.0.0",
|
|
334
|
-
"checksum": "sha256:
|
|
350
|
+
"checksum": "sha256:6ddb60e928016c0f11b32f6ec48558618eb6bb70a42eea74a29f1fc562dfc2ab",
|
|
335
351
|
"supersedes": null,
|
|
336
352
|
"metadata": {}
|
|
337
353
|
},
|
|
@@ -457,6 +473,14 @@
|
|
|
457
473
|
}
|
|
458
474
|
],
|
|
459
475
|
"hooks": [
|
|
476
|
+
{
|
|
477
|
+
"slug": "agent-git-guard",
|
|
478
|
+
"file": "hooks/agent-git-guard.mjs",
|
|
479
|
+
"version": "1.0.0",
|
|
480
|
+
"checksum": "sha256:b40c4bbeed6c1b8ceaa4df98a2f359b844aea2154e143e91093394569e0f62ff",
|
|
481
|
+
"supersedes": null,
|
|
482
|
+
"metadata": {}
|
|
483
|
+
},
|
|
460
484
|
{
|
|
461
485
|
"slug": "dangling-guard",
|
|
462
486
|
"file": "hooks/dangling-guard.mjs",
|
|
@@ -481,6 +505,14 @@
|
|
|
481
505
|
"supersedes": null,
|
|
482
506
|
"metadata": {}
|
|
483
507
|
},
|
|
508
|
+
{
|
|
509
|
+
"slug": "playwright-output-guard",
|
|
510
|
+
"file": "hooks/playwright-output-guard.mjs",
|
|
511
|
+
"version": "1.0.0",
|
|
512
|
+
"checksum": "sha256:cfc5807a23a0e89a703e09e91bb4c817cc61a6965235191f079bdeb42368e5cf",
|
|
513
|
+
"supersedes": null,
|
|
514
|
+
"metadata": {}
|
|
515
|
+
},
|
|
484
516
|
{
|
|
485
517
|
"slug": "post-compact",
|
|
486
518
|
"file": "hooks/post-compact.mjs",
|
|
@@ -497,11 +529,19 @@
|
|
|
497
529
|
"supersedes": null,
|
|
498
530
|
"metadata": {}
|
|
499
531
|
},
|
|
532
|
+
{
|
|
533
|
+
"slug": "pre-agent-dispatch",
|
|
534
|
+
"file": "hooks/pre-agent-dispatch.mjs",
|
|
535
|
+
"version": "1.0.0",
|
|
536
|
+
"checksum": "sha256:2f9e62ecfed182281dfe0aefa9fc4801d1b3aea9226a7d8f0bc52db6ed93326b",
|
|
537
|
+
"supersedes": null,
|
|
538
|
+
"metadata": {}
|
|
539
|
+
},
|
|
500
540
|
{
|
|
501
541
|
"slug": "session-start",
|
|
502
542
|
"file": "hooks/session-start.mjs",
|
|
503
543
|
"version": "1.0.0",
|
|
504
|
-
"checksum": "sha256:
|
|
544
|
+
"checksum": "sha256:a79a85062149f217483f971f0deb05759179c458b1d819901f357650dedbc67d",
|
|
505
545
|
"supersedes": null,
|
|
506
546
|
"metadata": {}
|
|
507
547
|
},
|
|
@@ -525,7 +565,7 @@
|
|
|
525
565
|
"slug": "subagent-stop",
|
|
526
566
|
"file": "hooks/subagent-stop.mjs",
|
|
527
567
|
"version": "1.0.0",
|
|
528
|
-
"checksum": "sha256:
|
|
568
|
+
"checksum": "sha256:b16c6215a41b9a3bc1be745980f46d1933fa06d8b21998b193278fec99868755",
|
|
529
569
|
"supersedes": null,
|
|
530
570
|
"metadata": {}
|
|
531
571
|
},
|
|
@@ -537,6 +577,14 @@
|
|
|
537
577
|
"supersedes": null,
|
|
538
578
|
"metadata": {}
|
|
539
579
|
},
|
|
580
|
+
{
|
|
581
|
+
"slug": "verification-before-completion",
|
|
582
|
+
"file": "hooks/verification-before-completion.mjs",
|
|
583
|
+
"version": "1.0.0",
|
|
584
|
+
"checksum": "sha256:349c03c12d939575d10f46af9d3e1c073b438860303e751d0d96fc51ab1cd924",
|
|
585
|
+
"supersedes": null,
|
|
586
|
+
"metadata": {}
|
|
587
|
+
},
|
|
540
588
|
{
|
|
541
589
|
"slug": "workflow-guard",
|
|
542
590
|
"file": "hooks/workflow-guard.mjs",
|
package/package.json
CHANGED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Persona Library — Catalog Index
|
|
2
|
+
|
|
3
|
+
## Persona Table
|
|
4
|
+
|
|
5
|
+
| id | role | industry | adversarial_intensity | validated_in |
|
|
6
|
+
|----|------|----------|-----------------------|--------------|
|
|
7
|
+
| diretor-cetico-fmcg | Diretor de Marketing / Brand Director | FMCG (Fast-Moving Consumer Goods) | high | S178 |
|
|
8
|
+
| cfo-conservador | CFO / VP Finance | cross-industry | high | S183 |
|
|
9
|
+
| auditor-compliance | Auditor de Compliance / Compliance Officer | cross-industry (regulado: financeiro, saude, governo) | medium | S199 |
|
|
10
|
+
| designer-perfeccionista | Senior Designer / Design Lead | cross-industry (product, marketing, brand) | medium | S199 |
|
|
11
|
+
| engenheiro-cetico-construcao | Engenheiro Civil Senior / Construction Project Engineer | construcao civil | medium | S193, S199 |
|
|
12
|
+
|
|
13
|
+
## How to Navigate and Select a Persona
|
|
14
|
+
|
|
15
|
+
Each persona file lives in `.claude/personas/<id>.md` and follows a uniform schema: YAML
|
|
16
|
+
frontmatter declares identity fields (`id`, `role`, `industry`, `seniority`, `adversarial_intensity`,
|
|
17
|
+
`validated_in`) plus three behavioral lists (`biases`, `vocabulary`, `demands`); the Markdown body
|
|
18
|
+
contains three sections — **Narrative** (backstory and mindset), **Sample Objections** (verbatim
|
|
19
|
+
challenge patterns), and **Adversarial Review Behavior** (severity-classified review rubric).
|
|
20
|
+
|
|
21
|
+
Select by matching two axes: **industry fit** and **adversarial intensity**. For a financial
|
|
22
|
+
proposal, start with `cfo-conservador` (cross-industry, intensity high) and add `auditor-compliance`
|
|
23
|
+
(intensity medium) when the audience includes a compliance officer or regulator. For a design or
|
|
24
|
+
product deliverable, reach for `designer-perfeccionista`. For construction or infrastructure plans,
|
|
25
|
+
use `engenheiro-cetico-construcao`. For FMCG marketing or brand strategy, use `diretor-cetico-fmcg`.
|
|
26
|
+
When multiple personas apply, run them sequentially: high-intensity personas first to catch blocking
|
|
27
|
+
issues, then medium-intensity for refinement.
|
|
28
|
+
|
|
29
|
+
Personas with `adversarial_intensity: high` will block approval on structural gaps; those with
|
|
30
|
+
`medium` will flag issues but generally allow progression with documented remediation plans. Use the
|
|
31
|
+
`validated_in` field to gauge battle-testing: a persona that survived a live dry-run (e.g., S178)
|
|
32
|
+
is more calibrated than one freshly scaffolded — treat unvalidated personas as draft until exercised.
|
|
33
|
+
|
|
34
|
+
## Forward Reference
|
|
35
|
+
|
|
36
|
+
The `/persona-library` skill (Wave 4, TASK-017) will provide interactive persona selection,
|
|
37
|
+
injection into review prompts, and session-scoped persona stacking. Once available, load it with
|
|
38
|
+
`/persona-library` to automate persona routing based on artifact type and audience context.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
*Generated: 2026-05-12 — TASK-007 S183 Wave 3*
|
|
43
|
+
*Updated: 2026-05-18 — S199 Step B (validation backlog cleared)*
|
|
44
|
+
*Schema version: all 5 personas pass 10-field audit, list lengths >= 3, 3-section body*
|
|
45
|
+
*Validated ratio: 5/5 (100%) — KPI-02 GREEN. Personas with optional `calibration_evidence` block: 3 (auditor-compliance, designer-perfeccionista, engenheiro-cetico-construcao — S199 Step B dry-run; cfo-conservador + diretor-cetico-fmcg validated pre-framework, no block authored).*
|
|
46
|
+
*S199 avg validation_score (3 personas with block): 0.793 (KPI-03 baseline first-computation).*
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ciclo-lane-dispatch
|
|
3
|
+
description: Use BEFORE delegating a lane 2A run to ciclo-engineer (PRD do cliente → Ciclo modelado + protótipo navegável). Triggers on "delegar lane 2A", "rodar o ciclo-engineer", "PRD para protótipo", "run de medição do charter", "modelar o ciclo do cliente". Carries the orchestrator side of the lane: pré-voo, prompt de despacho, e — o essencial — como julgar o relatório que volta re-medindo em vez de acreditar. Do NOT use to BUILD the artifact (that is the agent's charter, which it carries itself) nor for lane 2B (ciclo sem tela — captura não fechada).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ciclo Lane Dispatch — o lado do orquestrador da lane 2A
|
|
7
|
+
|
|
8
|
+
O `ciclo-engineer` carrega o **executável** (fases 0–6, dez armadilhas, disciplina de token). Esta
|
|
9
|
+
skill carrega o que **não** cabe nele: o que fazer antes de despachar, e o que fazer com o que
|
|
10
|
+
volta. A separação é por leitor, não por assunto — o agente precisa ser autossuficiente, e o
|
|
11
|
+
orquestrador precisa ser cético.
|
|
12
|
+
|
|
13
|
+
Marcas de proveniência usadas abaixo: `[M]` medido · `[S]` síntese nossa · `[U]` decidido pelo
|
|
14
|
+
usuário · `[L]` lacuna aberta.
|
|
15
|
+
|
|
16
|
+
## Quando usar
|
|
17
|
+
|
|
18
|
+
USE quando for delegar uma corrida da lane 2A: um PRD de cliente vira **Ciclo modelado** (sempre) e
|
|
19
|
+
**protótipo navegável** (quando o PRD tem superfície).
|
|
20
|
+
|
|
21
|
+
NÃO use para:
|
|
22
|
+
- **construir** o artefato — é a fase do agente, e ele traz o procedimento próprio;
|
|
23
|
+
- **lane 2B** (ciclo sem tela) — não tem doc de procedimento; o agente recusa por construção;
|
|
24
|
+
- deck Slidev (`presentation-engineer`) ou React app code (`frontend-engineer`).
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 1 · Pré-voo — quatro checagens, todas antes de escrever o prompt
|
|
29
|
+
|
|
30
|
+
**1.1 Branch o repo-alvo.** `[U]` O `ciclo-engineer` segura `createCheckpoint`; a Regra 4 do charter
|
|
31
|
+
proíbe despachá-lo com o repo em `main`/`master`. Cheque **o repo-alvo**, não só o teu cwd — são
|
|
32
|
+
repositórios diferentes e é o alvo que o agente escreve.
|
|
33
|
+
|
|
34
|
+
**1.2 Confirme que a correção está no arquivo que o agente LÊ.** `[S]` Doutrina que mora só num doc
|
|
35
|
+
de processo não chega ao delegado. Se a sessão anterior "corrigiu o charter", faça `grep` no
|
|
36
|
+
`agents/ciclo-engineer.md` pelos termos da correção antes de rodar um teste que depende dela —
|
|
37
|
+
senão o run mede o charter velho e tu credita o resultado ao novo.
|
|
38
|
+
|
|
39
|
+
**1.3 Meça os cinco insumos do contrato, não os presuma.** São: caminho do PRD · caminho do design
|
|
40
|
+
system · repo-alvo · escopo (quais US) · ator-alvo. O **ator sai do PRD com linha citada**, nunca de
|
|
41
|
+
memória. `[M]` Na S420 cinco das seis correções ao orquestrador foram da mesma família: afirmação
|
|
42
|
+
sobre artefato externo sem probe — o Invariante 6 escrito e não aplicado.
|
|
43
|
+
|
|
44
|
+
**1.4 Se for run de medição, retire a referência E prove que ela não cobre o alvo.** `[M]` (S420)
|
|
45
|
+
Antes de escrever o prompt, `grep -c` no artefato de referência pelo escopo pretendido. Se ele já
|
|
46
|
+
cobre o alvo, o run mede cópia, não transferência. Quando a referência cobre todo o espaço de
|
|
47
|
+
alvos, a restrição vira ativo: retire-a do agente e **use-a depois como ground truth**.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 2 · O prompt de despacho
|
|
52
|
+
|
|
53
|
+
Entregue os cinco insumos e mais estas cláusulas:
|
|
54
|
+
|
|
55
|
+
- **Vedação de referência** (em run de medição): *não leia o conteúdo de artefatos anteriores desta
|
|
56
|
+
lane; listar o diretório para escolher nome livre é permitido.*
|
|
57
|
+
- **Marca `client` proibida sem registro.** Se tu não passar a conversa do cliente, a marca não
|
|
58
|
+
existe para o agente e o fato vira lacuna. Sem isso ele marca `client` "porque faz sentido", que é
|
|
59
|
+
palpite com crachá.
|
|
60
|
+
- **Segure o commit** (§14.6, publicar-antes-de-corrigir): o agente grava e **não** commita; tu
|
|
61
|
+
commita depois de ler o relatório.
|
|
62
|
+
- **Cláusula de escape.** `[M]` (S420) *"Se o protocolo te obrigar a abrir o arquivo vedado, não
|
|
63
|
+
abra — registre o conflito."* Produziu duas declarações honestas e espontâneas.
|
|
64
|
+
|
|
65
|
+
**Neutralidade do dispatch — regra dura.** `[S]` Se o run existe para medir alguma dimensão
|
|
66
|
+
(interatividade, densidade, fidelidade), **não conte isso ao agente**. Dizer "estou medindo teus
|
|
67
|
+
listeners" infla listeners e destrói a comparação com os runs anteriores, que não foram avisados.
|
|
68
|
+
Mantenha o dispatch indistinguível de uma delegação normal.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 3 · Julgar o que volta — re-medir antes de acreditar
|
|
73
|
+
|
|
74
|
+
Regra S407, e ela não é desconfiança do agente: é a condição 3 do §17 (*resultado medido por
|
|
75
|
+
instrumento, não afirmado*). Um relatório é afirmação até tu medir.
|
|
76
|
+
|
|
77
|
+
`[M]` O que re-medir pegou, historicamente: na S420, **uma acusação falsa** do delegado ao charter
|
|
78
|
+
(o exemplo que ele disse não existir estava no PRD, linha 166) e **uma "descoberta" que era
|
|
79
|
+
leitura** (análise já presente no artefato de referência, apresentada como julgamento próprio).
|
|
80
|
+
|
|
81
|
+
### 3.1 Instrumento do eixo mockup→protótipo
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
scripts/audit-prototype-interactivity.sh <artefato.html> [outros.html ...]
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Mede telas no escopo, listeners e linhas de JS. Calibração conhecida `[M]` (US04 do PRD Selma/TRC,
|
|
88
|
+
mesma US nos quatro runs):
|
|
89
|
+
|
|
90
|
+
| run | condição | telas | listeners | JS |
|
|
91
|
+
|---|---|---|---|---|
|
|
92
|
+
| 1 | charter + referência à mão | 7 | 11 | 212 |
|
|
93
|
+
| 2 | charter, ref retirada, sem a forma escrita | 0 | 8 | 156 |
|
|
94
|
+
| 3 | charter com a forma escrita, ref retirada | 0 | 4 | 50 |
|
|
95
|
+
| 4 | charter corrigido, ref retirada | 5 | 17 | 221 |
|
|
96
|
+
| — | s406 (opus, original) | — | 57 | 1551 |
|
|
97
|
+
|
|
98
|
+
`[M]` O baseline opus **não é comparável no eixo de telas**: ele usa vocabulário próprio
|
|
99
|
+
(`ws-step`, `spine-step`). Compare runs entre si, que compartilham o charter.
|
|
100
|
+
|
|
101
|
+
### 3.2 Fidelidade do contrato de tokens — a checagem que o auditor NÃO faz
|
|
102
|
+
|
|
103
|
+
`[M]` (S420) O auditor valida o **grafo de referências** (`var(--x)` aponta para algo declarado).
|
|
104
|
+
Ele **não** compara nome:valor, e por isso passa limpo em token adulterado. Rode também:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
pares() { grep -ohE '^\s*--[a-z0-9-]+\s*:[^;]+;' "$@" | sed 's/^ *//' | sort -u; }
|
|
108
|
+
diff <(pares <artefato>) <(pares <ds>/variables.css <ds>/variables.dark.css)
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Esperado: diff vazio, exit 0, mesma contagem dos dois lados.
|
|
112
|
+
|
|
113
|
+
### 3.3 O instrumento também mente — e o detector é a discordância
|
|
114
|
+
|
|
115
|
+
`[M]` (S421) O contador de telas nasceu casando `class="screen` e deu **falso zero** num artefato
|
|
116
|
+
com 5 telas, porque aquele run escreveu `us04-screen`. O veredito impresso foi o mais grave da
|
|
117
|
+
escala ("SEM SUPERFÍCIE no escopo"), e acreditar nele teria invertido a conclusão da sessão.
|
|
118
|
+
|
|
119
|
+
Duas regras saem disso:
|
|
120
|
+
|
|
121
|
+
1. **Contador dependente de vocabulário é defeito, não configuração.** Case token de classe, não
|
|
122
|
+
prefixo literal. Um instrumento validado em N artefatos que compartilham convenção não está
|
|
123
|
+
validado — está confirmado dentro da própria convenção.
|
|
124
|
+
2. **Quando instrumento e relatório discordam, não escolha: investigue.** `[S]` Nem o instrumento
|
|
125
|
+
sozinho nem o relatório sozinho pegaram o erro — **a discordância entre os dois pegou**. Suspeite
|
|
126
|
+
primeiro do instrumento (é mais novo e menos exercitado que o agente), depois do relatório.
|
|
127
|
+
|
|
128
|
+
### 3.4 O que grep não alcança
|
|
129
|
+
|
|
130
|
+
`[S]` Gate não se conta por grep. Contagem de `disabled` e de `addEventListener('change')`
|
|
131
|
+
**corrobora** que os gates são estruturais e não decorativos; não substitui percorrer o fluxo no
|
|
132
|
+
browser e ver o botão travar e liberar. Se tu não abriu o browser, diga que não abriu.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 4 · Artefato falho é evidência — não conserte
|
|
137
|
+
|
|
138
|
+
`[U]` (S420, ratificado) Quando um run sai errado, a tentação é corrigir o HTML. Não corrija:
|
|
139
|
+
**corrija o procedimento e rode de novo**, guardando o artefato falho como baseline. Consertar à mão
|
|
140
|
+
destrói a única medição que tu tinha do estado anterior e transfere para ti um trabalho que era do
|
|
141
|
+
processo.
|
|
142
|
+
|
|
143
|
+
Corolário: mudança de charter só é creditada depois de um run que a exercite. Autorar normativo em
|
|
144
|
+
cima de correção não medida é como os cinco defeitos da S420 nasceram.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## 5 · Fronteiras e lacuna declarada
|
|
149
|
+
|
|
150
|
+
Esta skill **não** ensina a construir o Ciclo nem o protótipo — isso é do agente, e duplicar aqui
|
|
151
|
+
recria a divergência de duas superfícies narrativas sobre o mesmo estado.
|
|
152
|
+
|
|
153
|
+
`[L]` **Esta skill não pode passar no teste do §17.** A condição 2 exige que *alguém que não
|
|
154
|
+
escreveu o doc execute a partir dele*, e o único executor possível de uma skill de orquestrador é o
|
|
155
|
+
próprio orquestrador. A pergunta de se o §17 precisa de uma variante para conteúdo
|
|
156
|
+
orquestrador-side segue aberta — prima da lacuna que o §17.4 já registrava sobre a revisão
|
|
157
|
+
pré-disparo, que "não é lane". Enquanto isso, esta skill vale pelo que carrega de medido, não por
|
|
158
|
+
ter atravessado um teste que não a alcança.
|
|
@@ -63,6 +63,8 @@ If no variant is set (or variant resolves to `"full"`), all phases execute norma
|
|
|
63
63
|
| implement | `implementer` | code + tests |
|
|
64
64
|
| review | `reviewer` | review feedback |
|
|
65
65
|
|
|
66
|
+
**Agent names in this skill are written in canonical (bare) form — the dispatch name is topology-dependent.** Under repo scope (`.claude/agents/`) the harness lists agents bare (`implementer`); under **plugin scope** (graduated harness, RFC-040 §18) it lists them namespaced (`orchestrator:implementer`), and a bare `subagent_type` fails loud (`Agent type 'implementer' not found. Available agents: …`). Always dispatch using the **exact name the harness's available-agent list shows**, adding the plugin prefix when that list has it — every table, template and set below (§2c.1, §2d.1) names agents canonically and should be read the same way. Do **not** source dispatch names from the `[CAPABILITY-MATRIX]` SessionStart block: it derives them from file basenames and prints the bare form under both topologies (measured, S399).
|
|
67
|
+
|
|
66
68
|
#### 2c.0 Branch-Before-Dispatch precondition (TD-171) — MANDATORY before dispatching a committing agent
|
|
67
69
|
|
|
68
70
|
Before dispatching **any committing agent** (one whose tool list holds `mcp__orchestrator-tools__createCheckpoint` — see §2c.1 for the exact set), the orchestrator MUST first ensure the working tree is on a **non-protected feature branch**:
|
|
@@ -99,7 +101,7 @@ Sub-agents MUST persist artifacts to MinIO via `artifactStore` (universal rule,
|
|
|
99
101
|
|
|
100
102
|
#### 2c.1 Checkpoint + Commit Policy dispatch addenda (TD-S188-002 + TD-S192-003)
|
|
101
103
|
|
|
102
|
-
**Scope (TD-S192-003 amendment; set re-verified TD-171/S290):** this block applies to **any agent whose tool list includes `mcp__orchestrator-tools__createCheckpoint`**. As of **S290 the ground-truth set (grep `createCheckpoint` over `.claude/agents/*.md`) is the 7 agents**: `implementer`, `azure-devops-engineer`, `presentation-engineer`, `operational-artifact-builder`, `cicd-platform-engineer`, `python-data-engineer`, `frontend-engineer`. (The earlier S195 list was stale — it named `methodology-researcher`, which no longer holds the tool, and omitted `cicd-platform-engineer` / `python-data-engineer` / `frontend-engineer`, added later.) **Keep this set in sync with `COMMITTING_AGENTS` in `.claude/hooks/pre-agent-dispatch.ts`** (the branch-before-dispatch hook, §2c.0) — both derive from the same `createCheckpoint`-holder ground truth; when an agent gains/loses `createCheckpoint`, update both. The earlier version of this section was implementer-only; subsequent sessions (S192 PME phase 2, S194 bug_fix, S195 lint sweep) confirmed the same `createCheckpoint=git-commit` conflation appears across other agents that hold the tool — making the rule agent-agnostic from S195 forward.
|
|
104
|
+
**Scope (TD-S192-003 amendment; set re-verified TD-171/S290):** this block applies to **any agent whose tool list includes `mcp__orchestrator-tools__createCheckpoint`**. As of **S290 the ground-truth set (grep `createCheckpoint` over `.claude/agents/*.md`) is the 7 agents**: `implementer`, `azure-devops-engineer`, `presentation-engineer`, `operational-artifact-builder`, `cicd-platform-engineer`, `python-data-engineer`, `frontend-engineer`. (The earlier S195 list was stale — it named `methodology-researcher`, which no longer holds the tool, and omitted `cicd-platform-engineer` / `python-data-engineer` / `frontend-engineer`, added later.) **Keep this set in sync with `COMMITTING_AGENTS` in `.claude/hooks/pre-agent-dispatch.ts`** (the branch-before-dispatch hook, §2c.0) — both derive from the same `createCheckpoint`-holder ground truth; when an agent gains/loses `createCheckpoint`, update both. **Match this set ignoring any plugin prefix** (`orchestrator:implementer` ≡ `implementer`) — the hook already does so via `normalizeAgentName()` (S398); membership is a property of the agent, not of the topology that names it. The earlier version of this section was implementer-only; subsequent sessions (S192 PME phase 2, S194 bug_fix, S195 lint sweep) confirmed the same `createCheckpoint=git-commit` conflation appears across other agents that hold the tool — making the rule agent-agnostic from S195 forward.
|
|
103
105
|
|
|
104
106
|
When dispatching any of those agents, the generic template above is **insufficient**. The S188 implement phase originally surfaced the ambiguity: the implementer interpreted `createCheckpoint` as requiring a git commit beforehand, producing 4 unsolicited commits per dispatch (commit prefix also leaked from BACKLOG context: `feat(s186)` instead of `feat(s188)`). Empirical evidence preserved across sessions:
|
|
105
107
|
|