dd-harness 0.7.0 → 0.8.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/dist/brain.d.ts +2 -0
- package/dist/index.js +20 -4
- package/dist/politica.d.ts +4 -3
- package/dist/politica.js +6 -2
- package/package.json +1 -1
package/dist/brain.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -316,7 +316,9 @@ async function comandoPolitica(argv) {
|
|
|
316
316
|
return;
|
|
317
317
|
}
|
|
318
318
|
if (r.estado === "sem-politica") {
|
|
319
|
-
console.error("Este projeto ainda não tem política —
|
|
319
|
+
console.error("Este projeto ainda não tem política e/ou briefing — os dois são obrigatórios. " +
|
|
320
|
+
"Rode uma sessão com `--hook` (ou converse com o agente): ele vai conduzir o " +
|
|
321
|
+
"briefing agora e escrever os dois.");
|
|
320
322
|
process.exitCode = 3;
|
|
321
323
|
return;
|
|
322
324
|
}
|
|
@@ -345,9 +347,23 @@ function contextoDaSessao(r, worker) {
|
|
|
345
347
|
if (r.estado === "sem-politica") {
|
|
346
348
|
return {
|
|
347
349
|
...base,
|
|
348
|
-
additionalContext: "AVISO DO DD-HARNESS: este projeto existe no serviço mas
|
|
349
|
-
"—
|
|
350
|
-
"
|
|
350
|
+
additionalContext: "AVISO DO DD-HARNESS: este projeto existe no serviço mas política e/ou " +
|
|
351
|
+
"briefing **estão faltando** — os dois são obrigatórios.\n\n" +
|
|
352
|
+
"Isto não é uma falha: é um projeto novo. Antes de implementar qualquer " +
|
|
353
|
+
"coisa, conduza o briefing agora, nesta sessão:\n\n" +
|
|
354
|
+
"1. Se houver um `CLAUDE.md` na raiz deste repositório, leia-o primeiro — o " +
|
|
355
|
+
"que ele já diz é ponto de partida, não é para ser ignorado.\n" +
|
|
356
|
+
"2. Pergunte ao usuário o que o código e o `CLAUDE.md` não revelarem: " +
|
|
357
|
+
"objetivo do projeto, stack principal, restrições e convenções.\n" +
|
|
358
|
+
"3. Mostre o rascunho da política e do briefing e espere a confirmação " +
|
|
359
|
+
"explícita do usuário antes de escrever.\n" +
|
|
360
|
+
"4. Escreva os dois com a ferramenta MCP `escrever_artefato` " +
|
|
361
|
+
"(`tipo: \"politica\"` e `tipo: \"briefing\"`, uma chamada cada). Se essa " +
|
|
362
|
+
"ferramenta não estiver disponível nesta sessão, pare e diga ao usuário que " +
|
|
363
|
+
"o servidor MCP do dd-harness precisa estar conectado para isto.\n" +
|
|
364
|
+
"5. Depois de escrever os dois, sobrescreva o `CLAUDE.md` da raiz com um " +
|
|
365
|
+
"ponteiro curto para a política deste serviço — a verdade passa a morar " +
|
|
366
|
+
"aqui, e o `CLAUDE.md` local nunca mais precisa ser editado à mão." +
|
|
351
367
|
fila,
|
|
352
368
|
};
|
|
353
369
|
}
|
package/dist/politica.d.ts
CHANGED
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
* nenhuma sessao abre sem protocolo. Por isso o retorno separa TRES situacoes que um
|
|
6
6
|
* "deu erro" colapsaria — e cada uma pede uma reacao diferente de quem chamou:
|
|
7
7
|
*
|
|
8
|
-
* - `ok`:
|
|
9
|
-
* - `sem-politica`:
|
|
10
|
-
* briefing. Tratar como erro faria todo projeto
|
|
8
|
+
* - `ok`: politica E briefing existem. Segue a sessao.
|
|
9
|
+
* - `sem-politica`: falta politica OU briefing (os dois sao obrigatorios). NAO e falha: a
|
|
10
|
+
* saida e conduzir o briefing agora, na sessao. Tratar como erro faria todo projeto
|
|
11
|
+
* novo parecer quebrado.
|
|
11
12
|
* - `inalcancavel`: rede, timeout, 5xx, credencial, projeto inexistente. A politica pode
|
|
12
13
|
* existir e nao chegou — e ai a sessao precisa PARAR, porque seguir sem ela e
|
|
13
14
|
* exatamente a falha que este projeto combate.
|
package/dist/politica.js
CHANGED
|
@@ -24,9 +24,13 @@ export async function buscaPolitica(raiz) {
|
|
|
24
24
|
const payload = (await resposta.json());
|
|
25
25
|
const conteudo = payload.politica?.trim();
|
|
26
26
|
const esperandoIndexacao = payload.esperando_indexacao ?? 0;
|
|
27
|
-
//
|
|
28
|
-
|
|
27
|
+
// `briefado` e do SERVICO, nao inferido aqui: exige politica E briefing, os dois
|
|
28
|
+
// obrigatorios. So checar `politica` vazia deixava passar o caso de politica
|
|
29
|
+
// existir sem briefing — a sessao seguia como "ok" com metade do briefing faltando,
|
|
30
|
+
// e nada acionava o fluxo que devia completa-lo.
|
|
31
|
+
if (!conteudo || payload.briefado === false) {
|
|
29
32
|
return { estado: "sem-politica", esperandoIndexacao };
|
|
33
|
+
}
|
|
30
34
|
return { estado: "ok", conteudo, esperandoIndexacao };
|
|
31
35
|
}
|
|
32
36
|
catch (erro) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dd-harness",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Cliente do dd-harness: politica no inicio da sessao, e memoria por busca — nada em disco. Sem dependencia: fetch, crypto e fs sao do Node.",
|
|
6
6
|
"license": "UNLICENSED",
|