dd-harness 0.6.0 → 0.7.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/curar.d.ts CHANGED
@@ -25,6 +25,12 @@ export type MemoriaDoServico = {
25
25
  valor: string;
26
26
  sha: string | null;
27
27
  }[];
28
+ /**
29
+ * Os OUTROS projetos (slugs do mesmo tenant) que esta memoria tambem alcanca. Sem este
30
+ * campo no round-trip ler->editar->enviar, o vinculo transversal se perdia em silencio
31
+ * — achado numa rodada de teste real.
32
+ */
33
+ projetos?: string[];
28
34
  };
29
35
  /**
30
36
  * A memoria inteira, no markdown que `gravar` e `editar` consomem.
package/dist/curar.js CHANGED
@@ -30,6 +30,9 @@ export function comoMarkdown(m) {
30
30
  `description: ${m.resumo}`,
31
31
  `pasta: ${m.pasta}`,
32
32
  ...(m.revisar_ate ? [`revisar-ate: ${m.revisar_ate.slice(0, 10)}`] : []),
33
+ // So aparece quando ha vinculo — omitir e "so este projeto", igual a `gravar` sem
34
+ // `projetos:`. Formato inline (`a, b`), que e o que `interpreta` ja sabe ler.
35
+ ...(m.projetos?.length ? [`projetos: ${m.projetos.join(", ")}`] : []),
33
36
  "---",
34
37
  "",
35
38
  m.corpo.trim(),
@@ -62,6 +65,10 @@ export async function edita(raiz, caminho) {
62
65
  invisibilidade: memoria.invisibilidade,
63
66
  externalidade: memoria.externalidade,
64
67
  ancoras: memoria.ancoras,
68
+ // So manda quando o arquivo TINHA a chave `projetos:` — omitida, o servico
69
+ // mantem os vinculos como estao. `le` sempre escreve a chave quando ha vinculo,
70
+ // entao editar o arquivo que veio de `le` preserva o round-trip.
71
+ ...(memoria.tambemEmInformado ? { projetos: memoria.tambemEm } : {}),
65
72
  }),
66
73
  });
67
74
  if (!resposta.ok)
package/dist/gravar.d.ts CHANGED
@@ -16,6 +16,14 @@ export type MemoriaLida = {
16
16
  externalidade: string;
17
17
  ancoras: string[];
18
18
  tambemEm: string[];
19
+ /**
20
+ * O frontmatter TINHA a chave `projetos:`? `gravar` nao usa isto (chave ausente e
21
+ * `projetos: ` vazio significam a mesma coisa ali: "so este projeto"). `editar` usa —
22
+ * la a ausencia da chave precisa significar "nao estou informando vinculos", diferente
23
+ * de uma lista vazia explicita, senao editar sem tocar em `projetos:` apagaria o
24
+ * vinculo transversal por omissao.
25
+ */
26
+ tambemEmInformado: boolean;
19
27
  };
20
28
  export declare function interpreta(texto: string): MemoriaLida;
21
29
  export declare function grava(raiz: string, caminho: string): Promise<{
package/dist/gravar.js CHANGED
@@ -151,6 +151,7 @@ export function interpreta(texto) {
151
151
  .split(",")
152
152
  .map((s) => s.trim())
153
153
  .filter(Boolean),
154
+ tambemEmInformado: campos.has("projetos"),
154
155
  };
155
156
  }
156
157
  export async function grava(raiz, caminho) {
package/dist/index.js CHANGED
@@ -271,7 +271,12 @@ async function comandoCheck(argv) {
271
271
  console.log(`${r.fechadas} deriva(s) fechada(s): o alvo voltou a bater com a linha de base.`);
272
272
  }
273
273
  if (!r.ausentes.length && r.novas === 0 && r.jaAbertas === 0 && r.fechadas === 0) {
274
- console.log("nenhuma deriva: o mundo ainda bate com o que as memórias dizem.");
274
+ // "Nenhuma deriva" e nao "o mundo bate com o que a memoria diz": isto mede se a
275
+ // ANCORA (localizacao/conteudo) mudou, nunca se o COMPORTAMENTO ainda corresponde ao
276
+ // texto. Dois agentes-cobaia independentes leram a frase antiga como garantia
277
+ // semantica que o mecanismo nao da — trocar quebra e proposital comportamento
278
+ // continuar identico ao de antes.
279
+ console.log("nenhuma âncora mudou de lugar ou de conteúdo desde a última medição.");
275
280
  }
276
281
  // O cruzamento com o diff e outra coisa que deriva: e "voce acabou de mexer no que
277
282
  // esta memoria guarda". Vale mesmo quando a memoria continua valendo — e o revisor
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dd-harness",
3
- "version": "0.6.0",
3
+ "version": "0.7.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",