@orchestrator-claude/definitions 3.37.1 → 3.37.2

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.
@@ -0,0 +1,173 @@
1
+ ---
2
+ name: lane-1-entrevista
3
+ description: Use quando for equipar ou conduzir uma entrevista da lane 1a — entrevista → consolidação → devolutiva — de um usuário (PM ou cliente) por role de terminal do Maestri. É o lado de QUEM DESPACHA (Manager ou TL); o Entrevistador é a role em `workstation/roles/entrevistador.md`. Triggers on "entrevistar o PM como usuário", "abrir a rodada N", "equipar a entrevista", "consolidar as rodadas", "devolutiva ratificada", "insumo do PRD-001-v2", "retomar a entrevista". Carrega o pré-voo (repo fora do harness, isolamento por conduta, role a partir do arquivo), a cadência decidida pelo PM por rodada, o assert de fora após cada rodada, o rastro por citação, a ratificação com grão registrado e os parâmetros em que as duas execuções medidas discordam. Do NOT use para escrever o PRD (autoria, fica fora) nem para derivar épicos e user stories (use fase-1b-projecao — esta skill não a emenda).
4
+ ---
5
+
6
+ # Lane 1a — a entrevista do usuário, do lado de quem despacha
7
+
8
+ A lane 1 entrega um PRD. Antes dele existe o **material do usuário** — o que ele faz, o que dói, o
9
+ que pede, dito por ele, com citação. Esta skill equipa essa captura: o Manager (ou um TL) lança
10
+ um **Entrevistador** por role do Maestri, decide a cadência com o PM, mede de fora a cada rodada
11
+ e recebe um material **ratificado**. `[M]` Executada duas vezes nesta casa: TL Estudo HM (09/09,
12
+ cliente, transcrições) e Entrevistador (S519–S520, PM, ao vivo: 6 rodadas, 73/73, 12/12 leituras
13
+ confirmadas, repo `produto/entrevista-pm` HEAD `0228708`). Onde as duas discordam, §6.
14
+
15
+ Marcas: `[M]` medido · `[S]` síntese nossa · `[U]` decidido pelo usuário / ordem do Manager · `[L]` lacuna aberta.
16
+
17
+ ---
18
+
19
+ ## 1 · Pré-voo — o que existe antes da rodada 1
20
+
21
+ 1. **Repo de trabalho FORA do repo do harness, com git próprio.** `[M]` `produto/entrevista-pm/`
22
+ nasceu com `chore: nasce o repo da entrevista` e a estrutura que o README dele fixa:
23
+ `rodadas/rN.md` (transcrição literal, escrita ANTES de analisar) · `analise/rN.md` ·
24
+ `consolidacao/material-<quem>.md` · `devolutiva/devolutiva-<quem>.md`. Cada rodada fechada é
25
+ um commit; o sha é a proveniência. `[M]` A execução HM em `Downloads/trc-plat/hm/` **não é git** —
26
+ sem sha por rodada, a proveniência é só a data do arquivo.
27
+ 2. **Isolamento é conduta, não isolamento técnico.** `[M]` O plugin viaja para qualquer cwd (escopo
28
+ de usuário): o Entrevistador vê `orchestrator:*` na lista e a role manda ignorar. A regra vive na
29
+ role e no README do repo alvo (não ler o harness, não invocar `orchestrator:*`, não pesquisar o que
30
+ o produto é — o fato é do entrevistado) e o **vazamento é medido ao fim** por grep (§3).
31
+ 3. **Role a partir do arquivo, nunca do canvas.** Fonte: `workstation/roles/entrevistador.md`
32
+ (sha canônico `d61e0bea`, 5099 B; regra de sincronia no README do diretório). O Maestro escreve
33
+ no banco com `maestri role write "Entrevistador" "$(awk 'c>=2{print;next} /^---$/{c++}' <arquivo> | tail -n +2)"`
34
+ e faz `role assign` no slot do repo alvo. `[M]` A role **proíbe ler o repo do harness** — por isso a
35
+ instância vai copiada para o repo alvo como `ROLE-ENTREVISTADOR.md` (commit `10b8775` na primeira
36
+ execução) e o README da run registra o sha da instância. Divergência entre fonte e instância é diff
37
+ explícito, não drift. Parâmetros da role que mudam por run: repo alvo, quem é o entrevistado.
38
+ 4. **Contrato de saída do Entrevistador**, gravado na role: ao fechar cada rodada (commit feito) e ao
39
+ travar, `maestri ask "Orchestrator Manager" "<rodada N fechada: sha, perguntas/respostas, o que
40
+ ficou aberto>"`. `[M]` O `ask` devolve a **tela** do alvo, não a resposta — se o que volta é rodapé
41
+ de menu ou barra de status, a mensagem chegou; confirme com `maestri check "<alvo>"` antes de
42
+ qualquer reenvio (reenviar duplica no terminal dele).
43
+
44
+ ---
45
+
46
+ ## 2 · Cadência — o PM decide por rodada, a entrevista termina por esvaziamento
47
+
48
+ `[U]` **Decisão do PM POR RODADA, ANTES de abrir a rodada, via `AskUserQuestion`.** Nada de rodada
49
+ automática: quem despacha pergunta ao PM se abre a rodada N+1 agora, pausa, ou encerra. O
50
+ Entrevistador só recomputa a fronteira e apresenta; quem autoriza a próxima é o PM.
51
+
52
+ `[M]` **A entrevista termina quando a fronteira esvazia, não por número decidido.** Curva medida:
53
+ **16 → 20 → 15 → 8 → 1 → 0** perguntas em aberto ao fim de cada rodada — 6 rodadas, 73 perguntas,
54
+ 73 respostas. A rodada 6 foi uma micro-rodada de 1 pergunta ("Cloud"): a fronteira caiu para zero
55
+ e só então veio a consolidação. Não decida o número antes — ele cai do material.
56
+
57
+ **Pausa = `RETOMADA-rN.md` com a fronteira preservada.** `[M]` A `RETOMADA-r3.md` foi escrita a
58
+ pedido do Manager quando o PM pausou com a rodada 3 **aberta** (20 perguntas apresentadas, 0
59
+ respondidas) — **fora da role**, improvisada. Esta skill a torna procedimento. Conteúdo mínimo:
60
+ estado por rodada (fechada/aberta, commit, N/N) · as perguntas abertas **exatamente como estão na
61
+ tela**, sem reformular · o que ficou parcial nas rodadas anteriores e qual pergunta cobre · conduta
62
+ aprendida · instrução de retomada para a própria role "caso acorde sem memória" (`[M]` a sessão da
63
+ filha não sobrevive ao restart; a tela sim). Commit da pausa: `pausa: RETOMADA-rN — fronteira de K
64
+ perguntas preservada`.
65
+
66
+ ---
67
+
68
+ ## 3 · Assert de fora após cada rodada — quem despacha roda, sem entrar na árvore
69
+
70
+ Cada `ask` de rodada fechada é verificado por instrumento, do lado de fora, antes do próximo
71
+ `AskUserQuestion` ao PM:
72
+
73
+ ```bash
74
+ R=<repo-alvo>; N=<rodada>
75
+ git -C $R log --oneline -1 # sha bate com o que o ask relatou
76
+ wc -l $R/rodadas/r$N.md $R/analise/r$N.md # os dois existem; nenhum vazio
77
+ grep -c "(r$N, Q" $R/analise/r$N.md # rastro (rN, Qn): esperado > 0
78
+ sed -n '/^## 0/,/^## 1/p' $R/analise/r$N.md | grep -E 'perguntas feitas|respostas recebidas|sem resposta'
79
+ ```
80
+
81
+ **Grep de vocabulário do harness nas análises — com controle positivo obrigatório:**
82
+
83
+ ```bash
84
+ T='workflow|gate|orchestrator:|artifactStore|advancePhase|sub-?agente|skill|hook|MCP|checkpoint|manifest'
85
+ grep -ciE "\b($T)s?\b" $R/analise/r*.md # bruto, por arquivo
86
+ grep -iE "\b($T)s?\b" $R/analise/r$N.md | grep -vE '^> ' | grep -vE "\"[^\"]*\b($T)s?\b[^\"]*\"" # fora de aspas: esperado VAZIO
87
+ ```
88
+
89
+ `[M]` Dentro de aspas **não é vazamento** — é a palavra do PM. Controle positivo: r2 deu 2× "gate",
90
+ ambos em citação dele (`(r2, Q13)`); ao fim das 6 rodadas, 14 linhas com termos e **0 fora de aspas**.
91
+ Se o bruto der zero em todas as rodadas, desconfie do instrumento (vocabulário do grep casado com
92
+ outro nome) antes de comemorar: contador que nunca dispara não foi testado, foi só concordante.
93
+ Acrescente à lista os termos que o seu harness usa e o entrevistado não.
94
+
95
+ ---
96
+
97
+ ## 4 · Consolidação com rastro por citação
98
+
99
+ Ao esvaziar a fronteira, o Entrevistador escreve `consolidacao/material-<quem>.md`. Quem despacha
100
+ confere a **forma**, não o conteúdo — o conteúdo é do entrevistado:
101
+
102
+ - **Cada afirmação em uma de quatro categorias:** *fato dito* · *número dito* · *pedido dito* ·
103
+ *leitura a confirmar*. `[M]` `material-pm.md` "Como ler este documento".
104
+ - **Toda citação com `(rN, Qn)`** — rodada e pergunta apontam para `rodadas/rN.md`. `[M]` Instrumento:
105
+ `grep -c '(r[0-9]*, Q' consolidacao/material-*.md` alto; linhas entre aspas sem `(r` → defeito.
106
+ - **Respostas "como dono" FORA do material.** `[M]` §10 do material lista onde o PM explicou a
107
+ ferramenta por dentro (r2 Q1, Q7, Q8, Q13, Q14; r3 Q1…; r4…; r5 Q1; r6 Q1) — tudo literal em
108
+ `rodadas/`, **nada vira requisito** por mão do Entrevistador. Os desenhos dele entram só entre aspas,
109
+ como *pedido dele*. A nota de conduta que abre `analise/r2.md` é o precedente.
110
+ - **Tabela de proveniência por rodada com commit** (§0 do material): rodada · data · N/N · commit ·
111
+ parciais e em que rodada fecharam · total · curva da fronteira. `[M]` `5689abb` → `dfb07e0` → pausa
112
+ `3c696fe` → `50e0a22` → `a7b9aed` → `7a2f56c` → `0db146e` → consolidação `b1684f9`.
113
+ - **Leituras numeradas (L1..Ln)** em seção própria, marcadas `[síntese]`, todas indo para a devolutiva.
114
+
115
+ ---
116
+
117
+ ## 5 · Devolutiva com ratificação — e o GRÃO em que foi ratificada fica registrado
118
+
119
+ `devolutiva/devolutiva-<quem>.md`, apresentada no terminal do Entrevistador, em três partes `[M]`:
120
+
121
+ - **Parte A — o que ouvimos**, nas palavras dele: uma linha por dor/pedido, com a fala e o `(rN, Qn)`.
122
+ Aqui ele confirma *que foi isso que disse*, não que concorda com a leitura.
123
+ - **Parte B — as leituras L1..Ln, uma a uma**, cada uma com campo **Ratificação** a preencher com a
124
+ resposta literal: *confirmada* ou *corrigida* (e como é de verdade).
125
+ - **Parte C — o que ficou não determinado → respondido**: tabela item aberto × resposta literal.
126
+ `[M]` 5 de 7 itens fechados na devolutiva de S520; 2 ficaram como estavam.
127
+
128
+ **Registro da ratificação no próprio arquivo:** data e hora · fala literal · Parte A confirmada/
129
+ corrigida · leituras confirmadas/corrigidas (contagem) · Parte C · **alterações no material** (quais
130
+ seções mudaram) · commit. `[M]` `devolutiva: ratificada pelo PM — 12 confirmadas, 0 corrigidas` (`0228708`).
131
+
132
+ **Discordância registrada, não resolvida.** `[M]` A role pede ratificação **ponto a ponto**
133
+ (`entrevistador.md`, "Fim: consolidação e devolutiva"); a ratificação de S520 foi **em bloco** —
134
+ fala literal "A: ok e B: ok", replicada em L1–L12 como "ratificação em bloco de L1–L12". Esta skill
135
+ **não escolhe o grão**: ela exige que o arquivo diga em que grão foi ratificado, para que quem lê o
136
+ material saiba se cada leitura foi olhada uma a uma ou aceita em lote.
137
+
138
+ ---
139
+
140
+ ## 6 · Parâmetros que a segunda execução mudou — decidir no pré-voo, nunca em silêncio
141
+
142
+ `[M]` Duas execuções, onze eixos. Onde discordam, a skill **não escolhe**: o pré-voo declara o valor,
143
+ com os dois medidos à vista. Eixos já fixados por esta skill (por ordem do Manager, S521) estão marcados.
144
+
145
+ | eixo | TL Estudo HM (09/09) | Entrevistador (S519–S520) | nesta skill |
146
+ |---|---|---|---|
147
+ | quem analisa | subagentes do Manager escrevem `analise/*.md`; a role só monta o deck | o próprio Entrevistador escreve rodada, análise, consolidação e devolutiva | **parâmetro** |
148
+ | quem ouviu | "Escuta", por role — `[L]` não está entre as 4 roles capturadas; existe no banco? | o Entrevistador, ao vivo | **parâmetro** (segue a fonte) |
149
+ | fonte | transcrições Copilot sem falantes + PDFs; material existe antes; sem rodadas | rodadas ao vivo com fronteira; a transcrição literal é do mesmo agente que analisa | **parâmetro** |
150
+ | inventário de falantes | §1 da análise: ALTA/MÉDIA/BAIXA; nome só com confiança ALTA | não existe (1:1); §3 vira "o que o PM faz hoje" | **só quando a fonte não identifica** |
151
+ | unidade de lastro | reunião + página de PDF externo | `(rN, Qn)` apontando para `rodadas/` de autoria própria | **parâmetro** (§4 exige rastro; a unidade segue a fonte) |
152
+ | isolamento | nenhum; a role manda ler o design system do harness | inegociável; vazamento medido por grep | `[U]` fixado: conduta + grep (§1.2, §3) |
153
+ | forma da devolutiva | deck HTML, tokens do design system, Playwright | markdown com campo Ratificação, no próprio arquivo | **parâmetro** (§5 exige registro do grão em qualquer forma) |
154
+ | instrumento da condição 3 | Playwright + retro "número impresso = número da fonte", feita depois da aprovação | grep de vocabulário + ratificação do PM | `[U]` fixado para markdown (§3); deck exige o seu |
155
+ | proveniência | diretório sem git | commit por rodada | `[U]` fixado: git próprio, commit por rodada (§1.1) |
156
+ | pausa/retomada | n/a (um dia) | `RETOMADA-r3.md`, improvisada fora da role | `[U]` fixado: procedimento (§2) |
157
+ | marcação de síntese | `**[LITERAL]**` / `**[SÍNTESE]**` | aspas / `[síntese]` | **parâmetro** (escolha uma; declare na análise r1) |
158
+
159
+ `[S]` A role diz que a estrutura da análise é "a mesma que a casa usou com um cliente" — **não é**:
160
+ §1 e §3 diferem por causa da fonte (multi-falante vs 1:1). Quem despacha declara a estrutura no
161
+ pré-voo em vez de herdar a frase.
162
+
163
+ ---
164
+
165
+ ## 7 · O que esta skill NÃO faz
166
+
167
+ - **Não escreve o PRD.** A saída é material ratificado — insumo de autoria. Autoria não tem
168
+ procedimento nesta casa.
169
+ - **Não substitui nem emenda `fase-1b-projecao`.** A projeção em épicos e US vem **depois** do PRD;
170
+ esta skill fica antes dele. Não há sobreposição de passos.
171
+ - **Não decide o número de rodadas.** O PM decide cada rodada (§2); a fronteira decide o fim.
172
+ - **Não entra na árvore do Entrevistador** para corrigir análise: a correção é dele, disparada por
173
+ `maestri ask`, e aparece como commit.