@nac3/forge-cli 1.26.0 → 1.27.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.
Files changed (67) hide show
  1. package/dist/chat/panel.d.ts.map +1 -1
  2. package/dist/chat/panel.js +26 -0
  3. package/dist/chat/panel.js.map +1 -1
  4. package/dist/chat/server.d.ts.map +1 -1
  5. package/dist/chat/server.js +10 -1
  6. package/dist/chat/server.js.map +1 -1
  7. package/dist/chat/tools/reader.d.ts.map +1 -1
  8. package/dist/chat/tools/reader.js +24 -4
  9. package/dist/chat/tools/reader.js.map +1 -1
  10. package/dist/commands/operate.d.ts.map +1 -1
  11. package/dist/commands/operate.js +42 -0
  12. package/dist/commands/operate.js.map +1 -1
  13. package/dist/commands/urazuke.d.ts.map +1 -1
  14. package/dist/commands/urazuke.js +189 -9
  15. package/dist/commands/urazuke.js.map +1 -1
  16. package/dist/core/limits_config.d.ts +8 -0
  17. package/dist/core/limits_config.d.ts.map +1 -1
  18. package/dist/core/limits_config.js +19 -0
  19. package/dist/core/limits_config.js.map +1 -1
  20. package/dist/core/machine_files.d.ts +27 -0
  21. package/dist/core/machine_files.d.ts.map +1 -0
  22. package/dist/core/machine_files.js +97 -0
  23. package/dist/core/machine_files.js.map +1 -0
  24. package/dist/docs/doctrine/session-orchestration.md +109 -109
  25. package/dist/docs/doctrine/urazuke.md +221 -221
  26. package/dist/nac3/dispatch_log.d.ts +16 -1
  27. package/dist/nac3/dispatch_log.d.ts.map +1 -1
  28. package/dist/nac3/dispatch_log.js +29 -10
  29. package/dist/nac3/dispatch_log.js.map +1 -1
  30. package/dist/telemetry/battery_events.d.ts +91 -0
  31. package/dist/telemetry/battery_events.d.ts.map +1 -0
  32. package/dist/telemetry/battery_events.js +84 -0
  33. package/dist/telemetry/battery_events.js.map +1 -0
  34. package/dist/telemetry/usage.d.ts.map +1 -1
  35. package/dist/telemetry/usage.js +11 -25
  36. package/dist/telemetry/usage.js.map +1 -1
  37. package/dist/urazuke/freeze.d.ts.map +1 -1
  38. package/dist/urazuke/freeze.js +82 -16
  39. package/dist/urazuke/freeze.js.map +1 -1
  40. package/dist/urazuke/gates_data.d.ts +4 -1
  41. package/dist/urazuke/gates_data.d.ts.map +1 -1
  42. package/dist/urazuke/gates_data.js +7 -1
  43. package/dist/urazuke/gates_data.js.map +1 -1
  44. package/dist/urazuke/gates_ledger.d.ts +25 -1
  45. package/dist/urazuke/gates_ledger.d.ts.map +1 -1
  46. package/dist/urazuke/gates_ledger.js +30 -6
  47. package/dist/urazuke/gates_ledger.js.map +1 -1
  48. package/dist/urazuke/method_config.d.ts +116 -0
  49. package/dist/urazuke/method_config.d.ts.map +1 -0
  50. package/dist/urazuke/method_config.js +328 -0
  51. package/dist/urazuke/method_config.js.map +1 -0
  52. package/dist/urazuke/prompts_client.d.ts +42 -12
  53. package/dist/urazuke/prompts_client.d.ts.map +1 -1
  54. package/dist/urazuke/prompts_client.js +120 -16
  55. package/dist/urazuke/prompts_client.js.map +1 -1
  56. package/dist/urazuke/prompts_freeze.d.ts +186 -0
  57. package/dist/urazuke/prompts_freeze.d.ts.map +1 -0
  58. package/dist/urazuke/prompts_freeze.js +498 -0
  59. package/dist/urazuke/prompts_freeze.js.map +1 -0
  60. package/dist/urazuke/start.d.ts.map +1 -1
  61. package/dist/urazuke/start.js +42 -2
  62. package/dist/urazuke/start.js.map +1 -1
  63. package/dist/version.d.ts +1 -1
  64. package/dist/version.js +1 -1
  65. package/docs/doctrine/session-orchestration.md +109 -109
  66. package/docs/doctrine/urazuke.md +221 -221
  67. package/package.json +124 -124
@@ -0,0 +1,498 @@
1
+ /**
2
+ * EL CONGELADO DE LOS PROMPTS -- la mitad del doble candado que no tenia
3
+ * candado (PND-277, pedido del dueno del experimento 2026-11-03).
4
+ *
5
+ * EL DEFECTO, DICHO EN UNA LINEA. `yf urazuke gates pull` MIDE lo que
6
+ * costaria adoptar la definicion publicada y no escribe nada;
7
+ * `yf urazuke prompts pull` ESCRIBIA los prompts canonicos encima de lo que
8
+ * hubiera. Mismo verbo, mismo comando padre, mismo proposito, semantica
9
+ * invertida. Un dueno que aprendio `gates pull` -- que es seguro por diseno,
10
+ * es el ensayo -- y corrio `prompts pull` por analogia ya se habia pisado
11
+ * los prompts del proyecto sin enterarse.
12
+ *
13
+ * Y EL AGUJERO DE ABAJO, QUE ERA PEOR. `.forge/urazuke-prompts.json` era UN
14
+ * archivo con DOS significados que el codigo no distinguia: la copia
15
+ * congelada del metodo Y el almacen de overrides del dueno. La condicion de
16
+ * "este proyecto ya esta congelado", en freeze.ts, era literalmente "el
17
+ * objeto de overrides tiene al menos una clave". De ahi salian dos cosas,
18
+ * las dos reales:
19
+ *
20
+ * 1. UN SOLO `prompts set` CONGELABA EL PROYECTO PARA SIEMPRE. El dueno
21
+ * cambiaba una linea de un prompt para probar algo y, a partir de ese
22
+ * momento, `yf urazuke freeze` informaba "prompts ya congelados" y no
23
+ * volvia a traer los publicados nunca mas. Un cambio exploratorio
24
+ * quedaba convertido en una decision permanente sin que nadie la
25
+ * tomara.
26
+ * 2. UN `pull` DE CUALQUIERA ERA INDISTINGUIBLE DE UN CONGELADO. Despues
27
+ * de corrido, el archivo tenia las mismas claves. No habia razon, ni
28
+ * version sellada, ni huella, ni quien. La diferencia entre "el dueno
29
+ * adopto la version nueva del metodo" y "alguien corrio un comando" no
30
+ * estaba guardada en ninguna parte.
31
+ *
32
+ * Por que esta mitad importa mas que la otra, con las palabras del dueno:
33
+ * una compuerta mal adoptada pone peldanos en rojo y SE VE; un prompt
34
+ * cambiado sin registro cambia lo que el agente hace en cada turno y no
35
+ * deja rastro en ningun veredicto. La mitad que no tenia candado es la que
36
+ * falla en silencio.
37
+ *
38
+ * LA DECISION DE DISENO: DOS ARCHIVOS, DOS SIGNIFICADOS.
39
+ *
40
+ * .forge/urazuke-prompts.json overrides del dueno (lo de hoy,
41
+ * intacto: `prompts set|reset` y el
42
+ * panel siguen escribiendo ahi).
43
+ * .forge/urazuke-prompts-frozen.json la copia congelada: el payload
44
+ * publicado VERBATIM -- con su
45
+ * version, su huella y su sello --
46
+ * mas la procedencia (cuando, de
47
+ * donde, con que razon, contra que
48
+ * registro).
49
+ *
50
+ * El payload se guarda tal cual vino, igual que el congelado de las
51
+ * compuertas, porque su sello es la huella del metodo sobre las claves que
52
+ * el metodo declara: re-serializarlo es la unica manera segura de convertir
53
+ * una copia verificable en una que no verifica. La procedencia va en claves
54
+ * que el sello EXCLUYE.
55
+ *
56
+ * ORDEN DE RESOLUCION (prompts_client.ts): overrides > CONGELADO >
57
+ * publicado > vendorizado. El congelado entra en el medio a proposito: fija
58
+ * la version del metodo sin quitarle al dueno el control del texto, que es
59
+ * la razon por la que los overrides existen.
60
+ *
61
+ * COMPATIBILIDAD, Y LO QUE NO SE ADIVINA. Hay proyectos con
62
+ * `.forge/urazuke-prompts.json` ya escrito por el `pull` viejo -- el brazo
63
+ * C1 del experimento es uno, y va 20 de 24 peldanos con esa copia. Ese
64
+ * archivo NO dice si es un congelado o una edicion a mano, y este modulo no
65
+ * lo adivina: lo sigue leyendo como override (con lo cual el texto efectivo
66
+ * no se mueve ni un byte, que es lo que un proyecto a mitad de la escalera
67
+ * necesita) y MIDE la unica cosa medible -- si su contenido coincide con el
68
+ * publicado -- para poder decir de que se trata sin afirmarlo. Convertirlo
69
+ * en un congelado declarado es `prompts adopt --reason`, que es un acto con
70
+ * autor.
71
+ *
72
+ * ASCII-only.
73
+ */
74
+ import { promises as fs } from 'node:fs';
75
+ import path from 'node:path';
76
+ import { canonicalJson, sha256Hex } from './ruleset.js';
77
+ import { loadPublishedPrompts, readOverrides, } from './prompts_client.js';
78
+ import { verifyAgainstLedger } from './gates_ledger.js';
79
+ export const PROMPTS_FROZEN_REL = path.join('.forge', 'urazuke-prompts-frozen.json');
80
+ export function frozenPromptsPath(projectRoot) {
81
+ return path.join(projectRoot, PROMPTS_FROZEN_REL);
82
+ }
83
+ /**
84
+ * LA IDENTIDAD DE LO PUBLICADO, LEIDA DONDE EL METODO LA DECLARA.
85
+ *
86
+ * El payload trae DOS campos que parecen una version, y uno de los dos no
87
+ * sirve. Lo dice el propio payload, en version_note: el sha de `version`
88
+ * "es el sha del cambio ANTERIOR al que contiene este archivo, porque se
89
+ * calcula antes de guardar: la identidad de lo publicado es corpus_version
90
+ * + content_hash, y ninguna comparacion mira esto".
91
+ *
92
+ * Y el registro append-only anota sus entradas por corpus_version. Asi que
93
+ * contrastar por `version` seria mirar justo el campo que el metodo
94
+ * declara incomparable, y daria 'absent' para una version que el registro
95
+ * SI anota: un control que miro el lugar equivocado e informa como si
96
+ * hubiera mirado el correcto.
97
+ *
98
+ * El fallback a `version` existe para un payload viejo que no declare
99
+ * corpus_version (y para las pruebas que lo simulan).
100
+ */
101
+ export const PROMPTS_VERSION_FIELD = 'corpus_version';
102
+ export function declaredPromptsVersion(file) {
103
+ const c = file[PROMPTS_VERSION_FIELD];
104
+ if (typeof c === 'string' && c.trim())
105
+ return c;
106
+ const v = file['version'];
107
+ return typeof v === 'string' ? v : '';
108
+ }
109
+ function esPayload(x) {
110
+ if (!x || typeof x !== 'object')
111
+ return false;
112
+ const p = x;
113
+ if (typeof p['version'] !== 'string')
114
+ return false;
115
+ const ch = p['content_hash'];
116
+ if (!ch || typeof ch !== 'object' || typeof ch.value !== 'string'
117
+ || !Array.isArray(ch.covers) || !Array.isArray(ch.excludes))
118
+ return false;
119
+ const c = p['contracts'];
120
+ if (!c || typeof c !== 'object')
121
+ return false;
122
+ for (const v of Object.values(c)) {
123
+ if (!Array.isArray(v) || !v.every((s) => typeof s === 'string'))
124
+ return false;
125
+ }
126
+ return true;
127
+ }
128
+ /** Recalcular la huella sobre el payload cubierto y comparar. La forma
129
+ * canonica es la que declara el metodo y la que usa ruleset.ts, asi que una
130
+ * sola implementacion sirve para el sello y para esta verificacion. */
131
+ export function verifyPromptsSeal(file) {
132
+ const covered = {};
133
+ for (const k of file.content_hash.covers)
134
+ covered[k] = file[k];
135
+ const recomputed = sha256Hex(canonicalJson(covered));
136
+ const accounted = new Set([...file.content_hash.covers, ...file.content_hash.excludes]);
137
+ const uncovered = Object.keys(file).filter((k) => !accounted.has(k)).sort();
138
+ return {
139
+ ok: recomputed === file.content_hash.value && uncovered.length === 0,
140
+ declared: file.content_hash.value,
141
+ recomputed,
142
+ uncovered,
143
+ };
144
+ }
145
+ /** Leer el congelado del proyecto. Una copia que no verifica NO se usa y NO
146
+ * se pisa: puede ser una edicion a mano que el dueno quiso o una
147
+ * corrupcion que el dueno necesita ver, y las dos se destruyen igual si
148
+ * alguien la sobreescribe por conveniencia. */
149
+ export async function readFrozenPrompts(projectRoot) {
150
+ let raw;
151
+ try {
152
+ raw = JSON.parse(await fs.readFile(frozenPromptsPath(projectRoot), 'utf8'));
153
+ }
154
+ catch {
155
+ return {};
156
+ }
157
+ if (!esPayload(raw)) {
158
+ return { refused: ['el archivo ' + PROMPTS_FROZEN_REL + ' no tiene la forma de un payload de prompts publicado (version + content_hash + contracts)'] };
159
+ }
160
+ const seal = verifyPromptsSeal(raw);
161
+ if (!seal.ok) {
162
+ const problemas = ['la huella del congelado de prompts no cuadra: declarada '
163
+ + seal.declared.slice(0, 16) + ', recalculada ' + seal.recomputed.slice(0, 16)];
164
+ if (seal.uncovered.length) {
165
+ problemas.push('claves sin proteger ni excluir: ' + seal.uncovered.join(', '));
166
+ }
167
+ return { refused: problemas };
168
+ }
169
+ return { prompts: raw };
170
+ }
171
+ export async function writeFrozenPrompts(projectRoot, file) {
172
+ const f = frozenPromptsPath(projectRoot);
173
+ await fs.mkdir(path.dirname(f), { recursive: true });
174
+ const tmp = f + '.tmp';
175
+ await fs.writeFile(tmp, JSON.stringify(file, null, 2) + '\n', 'utf8');
176
+ const { renameWithRetry } = await import('../core/atomic_write.js');
177
+ await renameWithRetry(tmp, f);
178
+ }
179
+ const RECORTE = 160;
180
+ function recorte(s) {
181
+ const t = s.replace(/\s+/g, ' ').trim();
182
+ return t.length > RECORTE ? t.slice(0, RECORTE) + '...' : t;
183
+ }
184
+ /** Comparar dos listas de prompts de un contrato. */
185
+ export function diffContract(key, antes, despues) {
186
+ const n = Math.max(antes.length, despues.length);
187
+ const idx = [];
188
+ const lines = [];
189
+ for (let i = 0; i < n; i++) {
190
+ const a = antes[i];
191
+ const d = despues[i];
192
+ if (a === d)
193
+ continue;
194
+ idx.push(i + 1);
195
+ if (a === undefined)
196
+ lines.push('[' + (i + 1) + '] NUEVO: ' + recorte(d ?? ''));
197
+ else if (d === undefined)
198
+ lines.push('[' + (i + 1) + '] SE VA: ' + recorte(a));
199
+ else
200
+ lines.push('[' + (i + 1) + '] antes: ' + recorte(a) + '\n ahora: ' + recorte(d));
201
+ }
202
+ if (!idx.length)
203
+ return undefined;
204
+ return { key, before: antes.length, after: despues.length, changed_indexes: idx, lines };
205
+ }
206
+ /** El payload publicado como archivo congelable (verbatim). */
207
+ function payloadComoCongelado(p) {
208
+ const any = p;
209
+ const ch = any['content_hash'];
210
+ if (!ch || typeof ch.value !== 'string' || !Array.isArray(ch.covers) || !Array.isArray(ch.excludes))
211
+ return undefined;
212
+ return any;
213
+ }
214
+ /**
215
+ * MEDIR lo que costaria adoptar los prompts publicados. NO ESCRIBE NADA.
216
+ *
217
+ * Para los prompts "medir" no es cuantos peldanos se ponen en rojo -- un
218
+ * prompt no decide un veredicto -- es QUE CONTRATOS CAMBIAN DE TEXTO,
219
+ * cuales no, y el diff. Y una cosa mas que el de las compuertas no
220
+ * necesita: que overrides del dueno van a TAPAR el texto nuevo, porque ahi
221
+ * el agente va a seguir leyendo lo viejo despues de adoptar y eso, sin
222
+ * aviso, parece que la adopcion no hizo nada.
223
+ */
224
+ export async function previewPublishedPrompts(projectRoot, opts = {}) {
225
+ const out = {
226
+ ok: false, problems: [],
227
+ from: { kind: 'live', overridden: [] },
228
+ changed: [], unchanged: [], new_keys: [], gone_keys: [], shadowed: [],
229
+ adoptable: false, why_not: [],
230
+ };
231
+ const ov = await readOverrides(projectRoot);
232
+ const overridden = Object.keys(ov.overrides).sort();
233
+ const frozen = await readFrozenPrompts(projectRoot);
234
+ out.from.overridden = overridden;
235
+ if (frozen.prompts) {
236
+ out.from.kind = 'frozen';
237
+ out.from.version = declaredPromptsVersion(frozen.prompts);
238
+ out.from.hash = frozen.prompts.content_hash.value;
239
+ }
240
+ else if (frozen.refused?.length) {
241
+ out.problems.push(...frozen.refused);
242
+ out.why_not.push('hay un congelado de prompts en disco que NO verifica');
243
+ }
244
+ else if (overridden.length) {
245
+ out.from.kind = 'overrides';
246
+ }
247
+ const pub = await loadPublishedPrompts(opts);
248
+ if (!pub) {
249
+ out.problems.push('no pude traer los prompts publicados (ni la cache sirvio): sin eso no hay nada que medir');
250
+ out.why_not.push('la definicion publicada no esta disponible');
251
+ return out;
252
+ }
253
+ const file = payloadComoCongelado(pub.payload);
254
+ if (!file) {
255
+ out.problems.push('el payload publicado no declara content_hash con covers/excludes:'
256
+ + ' no se puede sellar una copia que no trae su propio sello');
257
+ out.why_not.push('el payload publicado no trae sello');
258
+ return out;
259
+ }
260
+ const seal = verifyPromptsSeal(file);
261
+ if (!seal.ok) {
262
+ out.problems.push('la copia publicada no verifica su propia huella: declarada '
263
+ + seal.declared.slice(0, 16) + ', recalculada ' + seal.recomputed.slice(0, 16)
264
+ + (seal.uncovered.length ? ', claves sin proteger ni excluir: ' + seal.uncovered.join(', ') : ''));
265
+ out.why_not.push('la copia publicada no verifica su huella');
266
+ return out;
267
+ }
268
+ out.to = { version: declaredPromptsVersion(file), hash: seal.recomputed, contracts: Object.keys(file.contracts).length };
269
+ /* El texto EFECTIVO de hoy, contrato por contrato: override > congelado >
270
+ * publicado-de-la-cache. Lo que se compara es lo que el agente lee. */
271
+ const efectivo = {};
272
+ const base = frozen.prompts ? frozen.prompts.contracts : {};
273
+ for (const [k, v] of Object.entries(base))
274
+ efectivo[k] = v;
275
+ for (const [k, v] of Object.entries(ov.overrides))
276
+ efectivo[k] = v;
277
+ let iguales = 0;
278
+ for (const k of overridden) {
279
+ const pubk = file.contracts[k];
280
+ const mio = ov.overrides[k];
281
+ if (pubk && pubk.length === mio.length && pubk.every((s, i) => s === mio[i]))
282
+ iguales++;
283
+ }
284
+ if (out.from.kind === 'overrides')
285
+ out.from.overrides_iguales_al_publicado = iguales;
286
+ for (const k of Object.keys(file.contracts).sort()) {
287
+ const nuevo = file.contracts[k];
288
+ const viejo = efectivo[k];
289
+ if (viejo === undefined) {
290
+ out.new_keys.push(k);
291
+ continue;
292
+ }
293
+ const d = diffContract(k, viejo, nuevo);
294
+ if (d) {
295
+ out.changed.push(d);
296
+ if (ov.overrides[k])
297
+ out.shadowed.push(k);
298
+ }
299
+ else {
300
+ out.unchanged.push(k);
301
+ }
302
+ }
303
+ for (const k of Object.keys(efectivo).sort()) {
304
+ if (!file.contracts[k])
305
+ out.gone_keys.push(k);
306
+ }
307
+ if (!opts.skip_ledger) {
308
+ const lopts = { resource: 'prompts.json', version_field: PROMPTS_VERSION_FIELD };
309
+ if (opts.fetchImpl)
310
+ lopts.fetchImpl = opts.fetchImpl;
311
+ if (opts.ledger_url)
312
+ lopts.ledger_url = opts.ledger_url;
313
+ if (opts.timeout_ms != null)
314
+ lopts.timeout_ms = opts.timeout_ms;
315
+ out.ledger = await verifyAgainstLedger(file, lopts);
316
+ if (out.ledger.status === 'mismatch') {
317
+ out.why_not.push('el registro de versiones contradice esta copia: ' + out.ledger.detail);
318
+ }
319
+ }
320
+ out.ok = true;
321
+ out.adoptable = out.why_not.length === 0;
322
+ return out;
323
+ }
324
+ export const MIN_REASON = 15;
325
+ /**
326
+ * Adoptar los prompts publicados como el congelado del proyecto.
327
+ *
328
+ * Las mismas tres condiciones que las compuertas, y en el mismo orden: un
329
+ * payload que verifica su propio sello, un registro append-only que no lo
330
+ * contradice, y la razon escrita del dueno guardada ADENTRO del congelado.
331
+ */
332
+ export async function adoptPublishedPrompts(projectRoot, opts) {
333
+ const out = { written: false, problems: [], path: frozenPromptsPath(projectRoot) };
334
+ const reason = (opts.reason ?? '').trim();
335
+ if (reason.length < MIN_REASON) {
336
+ out.problems.push('falta la razon escrita del dueno (minimo ' + MIN_REASON + ' caracteres).'
337
+ + ' Los prompts son lo que el agente lee en cada turno: cambiarlos es una decision'
338
+ + ' con autor, y queda escrita adentro del congelado.');
339
+ return out;
340
+ }
341
+ const existing = await readFrozenPrompts(projectRoot);
342
+ if ((existing.prompts || existing.refused?.length) && !opts.replace) {
343
+ out.problems.push('este proyecto ya tiene prompts congelados'
344
+ + (existing.prompts ? ' (' + existing.prompts.version + ')' : ' en una copia que NO verifica')
345
+ + ' y no la piso sin que me lo pidas expresamente (--replace).');
346
+ return out;
347
+ }
348
+ const preview = await previewPublishedPrompts(projectRoot, opts);
349
+ out.preview = preview;
350
+ if (!preview.ok || !preview.to) {
351
+ out.problems.push(...preview.problems);
352
+ return out;
353
+ }
354
+ if (preview.ledger?.status === 'mismatch') {
355
+ out.problems.push('no adopto una copia que el registro de versiones contradice: ' + preview.ledger.detail);
356
+ return out;
357
+ }
358
+ const pub = await loadPublishedPrompts(opts);
359
+ const file = pub ? payloadComoCongelado(pub.payload) : undefined;
360
+ if (!file) {
361
+ out.problems.push('no pude volver a traer la copia publicada para congelarla');
362
+ return out;
363
+ }
364
+ /* VERBATIM, y la procedencia en claves que el sello excluye -- mismo
365
+ * criterio que el congelado de las compuertas. Re-serializar el payload
366
+ * seria la unica forma de convertir una copia verificada en una que no
367
+ * verifica. */
368
+ const congelado = file;
369
+ congelado['frozen_at'] = new Date().toISOString();
370
+ congelado['frozen_from'] = 'portal';
371
+ congelado['frozen_reason'] = reason;
372
+ if (preview.ledger) {
373
+ congelado['frozen_ledger'] = {
374
+ status: preview.ledger.status,
375
+ ledger_url: preview.ledger.ledger_url,
376
+ expected: preview.ledger.expected ?? null,
377
+ checked_at: new Date().toISOString(),
378
+ };
379
+ }
380
+ for (const k of ['frozen_at', 'frozen_from', 'frozen_reason', 'frozen_ledger']) {
381
+ if (!congelado.content_hash.covers.includes(k) && !congelado.content_hash.excludes.includes(k)) {
382
+ congelado.content_hash.excludes.push(k);
383
+ }
384
+ }
385
+ /* Ultima compuerta antes de escribir: la copia que se va a congelar tiene
386
+ * que verificar por el MISMO camino que la va a leer. */
387
+ const check = verifyPromptsSeal(congelado);
388
+ if (!check.ok) {
389
+ out.problems.push('la copia que iba a congelar no verifica por el mismo camino que la lee:'
390
+ + ' declarada ' + check.declared.slice(0, 16) + ', recalculada ' + check.recomputed.slice(0, 16)
391
+ + (check.uncovered.length ? ', claves sin proteger ni excluir: ' + check.uncovered.join(', ') : ''));
392
+ return out;
393
+ }
394
+ await writeFrozenPrompts(projectRoot, congelado);
395
+ out.written = true;
396
+ out.version = declaredPromptsVersion(congelado);
397
+ return out;
398
+ }
399
+ /* ---------------- lo que ve el dueno ---------------- */
400
+ /** El ensayo en lineas, para el CLI y para el panel. */
401
+ export function renderPromptsPreview(p, opts = {}) {
402
+ const L = [];
403
+ if (!p.ok) {
404
+ L.push('no pude medir la adopcion: ' + p.problems.join('; '));
405
+ return L;
406
+ }
407
+ if (p.from.kind === 'frozen') {
408
+ L.push('en vigor: congelado ' + p.from.version + ' hash ' + (p.from.hash ?? '?').slice(0, 12)
409
+ + (p.from.overridden.length ? ' + ' + p.from.overridden.length + ' contrato(s) con override del dueno' : ''));
410
+ }
411
+ else if (p.from.kind === 'overrides') {
412
+ L.push('en vigor: SIN congelado declarado, con ' + p.from.overridden.length
413
+ + ' contrato(s) escritos en .forge/urazuke-prompts.json.');
414
+ L.push(' ese archivo no dice si es un congelado o una edicion a mano, y no lo adivino.'
415
+ + ' Medido: ' + (p.from.overrides_iguales_al_publicado ?? 0) + ' de ' + p.from.overridden.length
416
+ + ' coinciden exactamente con lo publicado'
417
+ + ((p.from.overrides_iguales_al_publicado ?? 0) === p.from.overridden.length
418
+ ? ' (compatible con una copia traida por el pull viejo, y tambien con que el dueno escribiera lo mismo).'
419
+ : ' (hay texto que el metodo no publico: alguien lo edito).'));
420
+ }
421
+ else {
422
+ L.push('en vigor: lo publicado (este proyecto no congelo los prompts).');
423
+ }
424
+ L.push('publicada: ' + p.to.version + ' hash ' + p.to.hash.slice(0, 12) + ' -- ' + p.to.contracts + ' contratos');
425
+ if (p.ledger)
426
+ L.push('registro de versiones: ' + p.ledger.status + ' -- ' + p.ledger.detail);
427
+ else
428
+ L.push('registro de versiones: no consultado (--skip-ledger)');
429
+ if (!p.changed.length && !p.new_keys.length && !p.gone_keys.length) {
430
+ L.push('ningun contrato cambia de texto: adoptar no moveria una sola palabra.');
431
+ }
432
+ else {
433
+ L.push('cambian de texto ' + p.changed.length + ' contrato(s); quedan igual ' + p.unchanged.length + '.');
434
+ for (const c of p.changed) {
435
+ L.push(' ' + c.key + ': ' + c.changed_indexes.length + ' prompt(s) [' + c.changed_indexes.join(', ') + ']'
436
+ + (c.before !== c.after ? ' (' + c.before + ' -> ' + c.after + ')' : ''));
437
+ if (opts.full_diff !== false)
438
+ for (const l of c.lines)
439
+ L.push(' ' + l);
440
+ }
441
+ if (p.new_keys.length)
442
+ L.push(' contratos NUEVOS: ' + p.new_keys.join(', '));
443
+ if (p.gone_keys.length) {
444
+ L.push(' contratos que el metodo YA NO publica: ' + p.gone_keys.join(', ')
445
+ + ' (adoptar no los borra: siguen leyendose de donde estan)');
446
+ }
447
+ }
448
+ if (p.shadowed.length) {
449
+ L.push('AVISO: ' + p.shadowed.length + ' contrato(s) con override del dueno van a TAPAR el texto nuevo ('
450
+ + p.shadowed.join(', ') + '). Despues de adoptar, el agente sigue leyendo el override:'
451
+ + ' quitalo con `yf urazuke prompts reset <contrato>` si querias el publicado.');
452
+ }
453
+ L.push(p.adoptable
454
+ ? 'adoptable: si -- yf urazuke prompts adopt --reason "..."'
455
+ : 'adoptable: NO -- ' + p.why_not.join(' | '));
456
+ for (const l of avisoDeCambioDeSemantica(p))
457
+ L.push(l);
458
+ return L;
459
+ }
460
+ /**
461
+ * EL CAMBIO DE SEMANTICA, DICHO EN LA SALIDA DEL PROPIO COMANDO.
462
+ *
463
+ * `prompts pull` ESCRIBIA y pisaba; desde 1.27.0 MIDE y no escribe. Eso es
464
+ * un cambio incompatible de un comando que ya existia, y la via habitual
465
+ * para avisarlo -- un numero mayor -- la descarto el dueno con un motivo
466
+ * que es mejor que el numero: "un cambio de semantica anunciado en la
467
+ * propia salida del comando le sirve mas al dueno que un numero mayor que
468
+ * nadie lee" (2026-11-03). Asi que el aviso es parte del contrato de
469
+ * salida, no una cortesia, y tiene una prueba que lo exige.
470
+ *
471
+ * Dos niveles, porque el que ya uso la forma vieja necesita mas que el que
472
+ * llega nuevo:
473
+ *
474
+ * - SIEMPRE: que este pull no escribe, y cual es el comando que escribe.
475
+ * - Y cuando el proyecto tiene la FIRMA de un pull viejo -- overrides
476
+ * cuyo texto coincide exactamente con lo publicado, que es lo que
477
+ * dejaba el comando anterior -- se nombra el comando que hace lo que
478
+ * el viejo hacia (`copy-to-overrides`), porque ese usuario corrio el
479
+ * viejo y su proximo reflejo va a ser buscarlo.
480
+ */
481
+ export function avisoDeCambioDeSemantica(p) {
482
+ const L = [];
483
+ L.push('CAMBIO DE SEMANTICA (1.27.0): este `pull` NO ESCRIBE NADA -- mide y se va.'
484
+ + ' Hasta 1.26.0 escribia .forge/urazuke-prompts.json pisando lo que hubiera.'
485
+ + ' Para escribir hay un solo camino y pide la razon del dueno:'
486
+ + ' `yf urazuke prompts adopt --reason "..."`.');
487
+ const ov = p.from.kind === 'overrides' ? p.from : undefined;
488
+ const firmaDelViejo = !!ov && ov.overridden.length > 0
489
+ && (ov.overrides_iguales_al_publicado ?? 0) === ov.overridden.length;
490
+ if (firmaDelViejo) {
491
+ L.push(' y este proyecto tiene la firma del pull viejo (' + ov.overridden.length
492
+ + ' override(s) con el texto exacto de lo publicado): si lo que buscabas era eso'
493
+ + ' -- copiar lo publicado a los overrides para editarlo a mano -- ahora se llama'
494
+ + ' `yf urazuke prompts copy-to-overrides`, y sigue sin ser un congelado.');
495
+ }
496
+ return L;
497
+ }
498
+ //# sourceMappingURL=prompts_freeze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts_freeze.js","sourceRoot":"","sources":["../../src/urazuke/prompts_freeze.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/urazuke/start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,wCAAwC;IACxC,SAAS,EAAE,SAAS,GAAG,gBAAgB,GAAG,WAAW,CAAC;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE;;4EAEwE;IACxE,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,mBAAmB,CAAC;IACnD,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;kFAC8E;IAC9E,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;;+DAG2D;IAC3D,MAAM,CAAC,EAAE,OAAO,aAAa,EAAE,YAAY,CAAC;CAC7C;AAgBD,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,CAAC,EAAE,gBAAgB,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAKtF;AAUD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoBnG;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4ChJ"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/urazuke/start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,wCAAwC;IACxC,SAAS,EAAE,SAAS,GAAG,gBAAgB,GAAG,WAAW,CAAC;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE;;4EAEwE;IACxE,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,mBAAmB,CAAC;IACnD,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;kFAC8E;IAC9E,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;;+DAG2D;IAC3D,MAAM,CAAC,EAAE,OAAO,aAAa,EAAE,YAAY,CAAC;CAC7C;AAgBD,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,CAAC,EAAE,gBAAgB,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAKtF;AAUD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoBnG;AA+BD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkDhJ"}
@@ -70,6 +70,38 @@ export async function urazukeStartHint(slug, projectRoot) {
70
70
  ...(history.has_history ? { history, history_notice: notice } : {}),
71
71
  };
72
72
  }
73
+ /**
74
+ * EL MODO ESTRICTO Y EL AVISO DE VERSION NUEVA (PND-277, 2026-11-03).
75
+ *
76
+ * Se mira DESPUES del freeze -- que es idempotente y congela lo que el
77
+ * proyecto lee hoy -- asi que un proyecto estricto que simplemente no habia
78
+ * congelado todavia arranca igual: el freeze lo resuelve y la compuerta
79
+ * encuentra las dos mitades puestas. Lo que la compuerta frena es el caso
80
+ * que importa: el freeze NO pudo (el portal no respondio, o hay una copia
81
+ * que no verifica) y el proyecto declaro que no quiere correr la escalera
82
+ * midiendo con otra version del metodo que la que fijo. Para un equipo que
83
+ * esta midiendo, caer al catalogo compilado con una nota al pie es la
84
+ * familia del cero que informaba salud.
85
+ */
86
+ async function methodGate(projectRoot) {
87
+ try {
88
+ const { methodState, renderMethodState } = await import('./method_config.js');
89
+ const { readLimitsConfig } = await import('../core/limits_config.js');
90
+ let machine;
91
+ try {
92
+ machine = (await readLimitsConfig()).urazuke.update_check;
93
+ }
94
+ catch { /* default */ }
95
+ const st = await methodState(projectRoot, { ...(machine ? { machine_update_check: machine } : {}) });
96
+ const notices = renderMethodState(st).filter((l) => l.startsWith('aviso:') || l.startsWith('VERSION NUEVA:'));
97
+ return st.strict.ok ? { notices } : { block: st.strict.detail, notices };
98
+ }
99
+ catch {
100
+ /* Una compuerta que no pudo leerse no frena un arranque: frenar por no
101
+ * poder mirar seria peor que el defecto que previene. */
102
+ return { notices: [] };
103
+ }
104
+ }
73
105
  export async function startUrazuke(slug, projectRoot, opts = {}) {
74
106
  const { urazukeEnabled, URAZUKE_DISABLED_MESSAGE } = await import('./enabled.js');
75
107
  if (!(await urazukeEnabled()))
@@ -83,10 +115,14 @@ export async function startUrazuke(slug, projectRoot, opts = {}) {
83
115
  * freeze is idempotent, so a project already frozen is untouched
84
116
  * (PND-165). */
85
117
  const freeze = await freezeFor(projectRoot);
118
+ const gate = await methodGate(projectRoot);
119
+ if (gate.block)
120
+ return { ok: false, created: false, reason: gate.block };
86
121
  return {
87
122
  ok: true, created: false, kind: hint.active.kind, code: hint.active.code, ...histNotice,
88
123
  reason: 'la escalera ' + hint.active.code + ' ya estaba abierta: ' + describeNext(next, false)
89
- + (freeze ? ' -- ' + (await import('./freeze.js')).renderFreeze(freeze) : ''),
124
+ + (freeze ? ' -- ' + (await import('./freeze.js')).renderFreeze(freeze) : '')
125
+ + (gate.notices.length ? ' | ' + gate.notices.join(' | ') : ''),
90
126
  ...(next ? { next } : {}),
91
127
  ...(freeze ? { freeze } : {}),
92
128
  };
@@ -109,11 +145,15 @@ export async function startUrazuke(slug, projectRoot, opts = {}) {
109
145
  * version of the method; this is the moment that makes that true, because
110
146
  * it is the only one that covers the whole climb. */
111
147
  const freeze = r.created ? await freezeFor(projectRoot) : undefined;
148
+ const gate = r.created ? await methodGate(projectRoot) : { notices: [] };
149
+ if (gate.block)
150
+ return { ok: false, created: false, reason: gate.block };
112
151
  return {
113
152
  ok: r.created, created: r.created, ...histNotice,
114
153
  ...(r.kind ? { kind: r.kind } : {}), ...(r.code ? { code: r.code } : {}),
115
154
  reason: r.reason + (next ? '; ' + describeNext(next, true) : '')
116
- + (freeze ? '; ' + (await import('./freeze.js')).renderFreeze(freeze) : ''),
155
+ + (freeze ? '; ' + (await import('./freeze.js')).renderFreeze(freeze) : '')
156
+ + (gate.notices.length ? ' | ' + gate.notices.join(' | ') : ''),
117
157
  ...(closed.length ? { closed } : {}),
118
158
  ...(next ? { next } : {}),
119
159
  ...(freeze ? { freeze } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/urazuke/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/urazuke/start.ts"],"names":[],"mappings":"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"}