@nac3/forge-cli 1.27.0 → 1.28.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/chat/graph_snapshot.d.ts +24 -0
- package/dist/chat/graph_snapshot.d.ts.map +1 -1
- package/dist/chat/graph_snapshot.js +28 -3
- package/dist/chat/graph_snapshot.js.map +1 -1
- package/dist/chat/history_budget.d.ts +114 -0
- package/dist/chat/history_budget.d.ts.map +1 -0
- package/dist/chat/history_budget.js +98 -0
- package/dist/chat/history_budget.js.map +1 -0
- package/dist/chat/server.d.ts.map +1 -1
- package/dist/chat/server.js +49 -0
- package/dist/chat/server.js.map +1 -1
- package/dist/chat/tools/pending.d.ts.map +1 -1
- package/dist/chat/tools/pending.js +25 -10
- package/dist/chat/tools/pending.js.map +1 -1
- package/dist/chat/tools/pending_ack.d.ts +82 -0
- package/dist/chat/tools/pending_ack.d.ts.map +1 -0
- package/dist/chat/tools/pending_ack.js +55 -0
- package/dist/chat/tools/pending_ack.js.map +1 -0
- package/dist/core/instructions_budget.d.ts +113 -0
- package/dist/core/instructions_budget.d.ts.map +1 -0
- package/dist/core/instructions_budget.js +165 -0
- package/dist/core/instructions_budget.js.map +1 -0
- package/dist/core/limits_config.d.ts +15 -0
- package/dist/core/limits_config.d.ts.map +1 -1
- package/dist/core/limits_config.js +17 -0
- package/dist/core/limits_config.js.map +1 -1
- package/dist/nac3/manifest_lazy.d.ts +15 -0
- package/dist/nac3/manifest_lazy.d.ts.map +1 -1
- package/dist/nac3/manifest_lazy.js +17 -1
- package/dist/nac3/manifest_lazy.js.map +1 -1
- package/dist/urazuke/evidence.d.ts.map +1 -1
- package/dist/urazuke/evidence.js +14 -2
- package/dist/urazuke/evidence.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pending.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/pending.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"pending.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/pending.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { pendingAck } from './pending_ack.js';
|
|
1
2
|
import { listPending, findPending, addPending, closePending, editPending, appendPendingHistory, } from '../../pending/store.js';
|
|
2
3
|
function requireSlug(ctx) {
|
|
3
4
|
const slug = ctx.projectSlug;
|
|
@@ -113,17 +114,21 @@ export async function runPendingAdd(args, ctx) {
|
|
|
113
114
|
const { findSimilarOpenPendings } = await import('../../pending/store.js');
|
|
114
115
|
const parecidos = await findSimilarOpenPendings(slug, args.title);
|
|
115
116
|
const item = await addPending(slug, input);
|
|
117
|
+
/* P4 (PND-283) -- ACUSE, no el item. Devolvia el `body` y la `spec`
|
|
118
|
+
* enteros que acababan de llegar en los argumentos: eco del 84% medido
|
|
119
|
+
* sobre 165 llamadas. Lo que el servidor NORMALIZO si viaja (ver
|
|
120
|
+
* pending_ack.ts): una correccion silenciosa es peor que el eco. */
|
|
121
|
+
const warning = parecidos.length
|
|
122
|
+
? 'Hay ' + parecidos.length + ' item(s) ABIERTOS con titulo parecido ('
|
|
123
|
+
+ parecidos.map((x) => x.id).join(', ') + '). Revisa si este es un duplicado '
|
|
124
|
+
+ 'antes de seguir: si lo es, cerralo con reason=duplicate apuntando al que queda.'
|
|
125
|
+
: '';
|
|
116
126
|
return {
|
|
117
127
|
tool: 'yujin.pending.add',
|
|
118
128
|
result: {
|
|
119
129
|
project: slug,
|
|
120
|
-
item,
|
|
121
|
-
...(parecidos.length ? {
|
|
122
|
-
similar_open: parecidos,
|
|
123
|
-
warning: 'Hay ' + parecidos.length + ' item(s) ABIERTOS con titulo parecido ('
|
|
124
|
-
+ parecidos.map((x) => x.id).join(', ') + '). Revisa si este es un duplicado '
|
|
125
|
-
+ 'antes de seguir: si lo es, cerralo con reason=duplicate apuntando al que queda.',
|
|
126
|
-
} : {}),
|
|
130
|
+
ack: pendingAck(item, args, warning ? { warnings: [warning] } : {}),
|
|
131
|
+
...(parecidos.length ? { similar_open: parecidos, warning } : {}),
|
|
127
132
|
},
|
|
128
133
|
display: 'pending.add -> ' + item.id + ' (' + item.title + ')'
|
|
129
134
|
+ (parecidos.length ? ' [ojo: ' + parecidos.length + ' parecido(s) abiertos]' : ''),
|
|
@@ -371,7 +376,11 @@ export async function runPendingClose(args, ctx) {
|
|
|
371
376
|
}
|
|
372
377
|
return {
|
|
373
378
|
tool: 'yujin.pending.close',
|
|
374
|
-
|
|
379
|
+
/* P4 -- acuse. El cierre es el retorno mas grande de los cuatro
|
|
380
|
+
* (2.825 tokens por llamada): llevaba el `implementation` entero, que
|
|
381
|
+
* el agente acaba de escribir en los argumentos. */
|
|
382
|
+
result: { project: slug, ack: pendingAck(item, {}),
|
|
383
|
+
...(workflowClosed ? { workflow_closed: workflowClosed } : {}) },
|
|
375
384
|
display: 'pending.close -> ' + item.id + ' (' + (item.closed_reason ?? '?') + ')'
|
|
376
385
|
+ (workflowClosed ? ' [workflow ' + workflowClosed + ' completado]' : '') + reportText,
|
|
377
386
|
};
|
|
@@ -393,7 +402,10 @@ export async function runPendingNote(args, ctx) {
|
|
|
393
402
|
const item = await appendPendingHistory(slug, args.id, { note: args.note.trim(), kind });
|
|
394
403
|
return {
|
|
395
404
|
tool: 'yujin.pending.note',
|
|
396
|
-
|
|
405
|
+
/* P4 -- acuse. El `entries` ya era lo unico que el agente miraba; el
|
|
406
|
+
* item entero viajaba al lado con TODO el history, que es justo el
|
|
407
|
+
* texto que el agente fue escribiendo turno a turno. */
|
|
408
|
+
result: { project: slug, ack: pendingAck(item, {}), entries: (item.history ?? []).length },
|
|
397
409
|
display: 'pending.note -> ' + item.id + ' [' + kind + ']',
|
|
398
410
|
};
|
|
399
411
|
}
|
|
@@ -429,7 +441,10 @@ export async function runPendingEdit(args, ctx) {
|
|
|
429
441
|
const item = await editPending(slug, args.id, patch);
|
|
430
442
|
return {
|
|
431
443
|
tool: 'yujin.pending.edit',
|
|
432
|
-
|
|
444
|
+
/* P4 -- acuse. Aca la mitad que importa es la mas visible: un edit
|
|
445
|
+
* que el registro normaliza tiene que decirlo, o el agente cree que
|
|
446
|
+
* dejo escrito lo que mando. */
|
|
447
|
+
result: { project: slug, ack: pendingAck(item, args) },
|
|
433
448
|
display: 'pending.edit -> ' + item.id,
|
|
434
449
|
};
|
|
435
450
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pending.js","sourceRoot":"","sources":["../../../src/chat/tools/pending.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pending.js","sourceRoot":"","sources":["../../../src/chat/tools/pending.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Yujin Forge -- el ACUSE de los verbos de escritura del registro
|
|
3
|
+
* (P4, PND-283).
|
|
4
|
+
*
|
|
5
|
+
* EL PROBLEMA, MEDIDO
|
|
6
|
+
*
|
|
7
|
+
* Los cuatro verbos de escritura del registro (`pending.add` / `.note` /
|
|
8
|
+
* `.close` / `.edit`) devolvian el item ENTERO: 382 llamadas, 774.766
|
|
9
|
+
* tokens devueltos, USD 19,12 ponderado por relectura, eco medio 47%. El
|
|
10
|
+
* peor es `pending.add`: 165 llamadas, eco del 84%. Devolvia el `body`
|
|
11
|
+
* completo y la `spec` completa que acababan de llegar en los argumentos,
|
|
12
|
+
* mas dos timestamps. Y lo devuelto se relee en todas las llamadas
|
|
13
|
+
* siguientes del turno, asi que el eco se paga muchas veces.
|
|
14
|
+
*
|
|
15
|
+
* LA REGLA, Y ES LA PARTE DELICADA
|
|
16
|
+
*
|
|
17
|
+
* "Devolver menos" a secas es un arreglo peligroso: lo que el servidor
|
|
18
|
+
* NORMALIZA o RECHAZA no es eco, es informacion. Si el registro recorta un
|
|
19
|
+
* titulo, ajusta una prioridad fuera de rango o cae a una categoria
|
|
20
|
+
* distinta de la pedida, el agente tiene que verlo -- si no, cree que
|
|
21
|
+
* guardo una cosa y guardo otra, y eso es dano silencioso (SQ 0.3).
|
|
22
|
+
*
|
|
23
|
+
* Entonces la regla es:
|
|
24
|
+
*
|
|
25
|
+
* devolver los campos que el servidor TOCO, mas el acuse;
|
|
26
|
+
* nunca los que paso tal cual.
|
|
27
|
+
*
|
|
28
|
+
* Y una distincion que parece menor y no lo es: un campo que el agente NO
|
|
29
|
+
* mando y que el servidor completo con su default (priority 50) NO es una
|
|
30
|
+
* normalizacion -- no corrige nada que el agente haya escrito. Si contara
|
|
31
|
+
* como tal, cada `add` devolveria ruido y la palanca no ahorraria nada.
|
|
32
|
+
* El valor aplicado viaja igual, pero como parte del acuse compacto.
|
|
33
|
+
*
|
|
34
|
+
* ASCII-only.
|
|
35
|
+
*/
|
|
36
|
+
import type { PendingItem } from '../../pending/types.js';
|
|
37
|
+
/** Lo que el agente mando. Solo se comparan las claves presentes. */
|
|
38
|
+
export interface PendingSentFields {
|
|
39
|
+
title?: string;
|
|
40
|
+
body?: string;
|
|
41
|
+
category?: string;
|
|
42
|
+
priority?: number;
|
|
43
|
+
blocker_kind?: string;
|
|
44
|
+
blocker_who?: string;
|
|
45
|
+
related_doc?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface PendingAckExtras {
|
|
48
|
+
/** Advertencias del servidor (duplicados parecidos, compuertas). NO son
|
|
49
|
+
* eco: el agente no las escribio. */
|
|
50
|
+
warnings?: string[];
|
|
51
|
+
/** El veredicto de una compuerta (Urazuke) cuando la hubo. */
|
|
52
|
+
gate?: unknown;
|
|
53
|
+
}
|
|
54
|
+
export interface PendingAck {
|
|
55
|
+
id: string;
|
|
56
|
+
status: 'open' | 'closed';
|
|
57
|
+
priority: number;
|
|
58
|
+
category: string;
|
|
59
|
+
created_at: number;
|
|
60
|
+
updated_at: number;
|
|
61
|
+
closed_at?: number;
|
|
62
|
+
closed_reason?: string;
|
|
63
|
+
/** Cuantas entradas tiene el history. El contenido NO viaja: es lo que el
|
|
64
|
+
* agente fue escribiendo turno a turno. */
|
|
65
|
+
history_entries?: number;
|
|
66
|
+
/** Solo los campos que el servidor CAMBIO respecto de lo enviado. */
|
|
67
|
+
normalized?: Record<string, unknown>;
|
|
68
|
+
warnings?: string[];
|
|
69
|
+
gate?: unknown;
|
|
70
|
+
/** Una linea para el agente. */
|
|
71
|
+
message: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Armar el acuse de una escritura del registro.
|
|
75
|
+
*
|
|
76
|
+
* `sent` son los argumentos que llegaron del agente; solo las claves
|
|
77
|
+
* PRESENTES se comparan. Una clave ausente significa "no escribi nada
|
|
78
|
+
* ahi", y entonces lo que el servidor haya puesto es su default, no una
|
|
79
|
+
* correccion.
|
|
80
|
+
*/
|
|
81
|
+
export declare function pendingAck(item: PendingItem, sent?: PendingSentFields, extras?: PendingAckExtras): PendingAck;
|
|
82
|
+
//# sourceMappingURL=pending_ack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending_ack.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/pending_ack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B;0CACsC;IACtC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;gDAC4C;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,WAAW,EACjB,IAAI,GAAE,iBAAsB,EAC5B,MAAM,GAAE,gBAAqB,GAC5B,UAAU,CAkCZ"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/** Las claves que se comparan contra lo enviado. */
|
|
2
|
+
const COMPARABLES = [
|
|
3
|
+
'title', 'body', 'category', 'priority', 'blocker_kind', 'blocker_who', 'related_doc',
|
|
4
|
+
];
|
|
5
|
+
/**
|
|
6
|
+
* Armar el acuse de una escritura del registro.
|
|
7
|
+
*
|
|
8
|
+
* `sent` son los argumentos que llegaron del agente; solo las claves
|
|
9
|
+
* PRESENTES se comparan. Una clave ausente significa "no escribi nada
|
|
10
|
+
* ahi", y entonces lo que el servidor haya puesto es su default, no una
|
|
11
|
+
* correccion.
|
|
12
|
+
*/
|
|
13
|
+
export function pendingAck(item, sent = {}, extras = {}) {
|
|
14
|
+
const normalized = {};
|
|
15
|
+
for (const k of COMPARABLES) {
|
|
16
|
+
/* Ausente (o presente en undefined, que es lo mismo para un argumento
|
|
17
|
+
* que no se escribio): el agente no puso nada ahi, asi que lo que el
|
|
18
|
+
* servidor tenga es su default y no una correccion de nada. Un `k in
|
|
19
|
+
* sent` aparte seria redundante con esto -- lo probo un mutante que
|
|
20
|
+
* sobrevivio por equivalencia, no por un caso flojo. */
|
|
21
|
+
if (sent[k] === undefined)
|
|
22
|
+
continue;
|
|
23
|
+
const guardado = item[k];
|
|
24
|
+
if (guardado !== sent[k])
|
|
25
|
+
normalized[k] = guardado;
|
|
26
|
+
}
|
|
27
|
+
const closed = typeof item.closed_at === 'number';
|
|
28
|
+
const cambios = Object.keys(normalized);
|
|
29
|
+
const ack = {
|
|
30
|
+
id: item.id,
|
|
31
|
+
status: closed ? 'closed' : 'open',
|
|
32
|
+
priority: item.priority,
|
|
33
|
+
category: item.category,
|
|
34
|
+
created_at: item.created_at,
|
|
35
|
+
updated_at: item.updated_at,
|
|
36
|
+
message: item.id + ' ' + (closed ? 'cerrado' : 'guardado')
|
|
37
|
+
+ (cambios.length
|
|
38
|
+
? ' -- el registro normalizo: ' + cambios.join(', ')
|
|
39
|
+
: ' -- sin cambios sobre lo enviado'),
|
|
40
|
+
};
|
|
41
|
+
if (closed && typeof item.closed_at === 'number')
|
|
42
|
+
ack.closed_at = item.closed_at;
|
|
43
|
+
if (item.closed_reason)
|
|
44
|
+
ack.closed_reason = item.closed_reason;
|
|
45
|
+
if (item.history && item.history.length)
|
|
46
|
+
ack.history_entries = item.history.length;
|
|
47
|
+
if (cambios.length)
|
|
48
|
+
ack.normalized = normalized;
|
|
49
|
+
if (extras.warnings && extras.warnings.length)
|
|
50
|
+
ack.warnings = extras.warnings;
|
|
51
|
+
if (extras.gate !== undefined)
|
|
52
|
+
ack.gate = extras.gate;
|
|
53
|
+
return ack;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=pending_ack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending_ack.js","sourceRoot":"","sources":["../../../src/chat/tools/pending_ack.ts"],"names":[],"mappings":"AA4EA,oDAAoD;AACpD,MAAM,WAAW,GAAyC;IACxD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa;CACtF,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACxB,IAAiB,EACjB,OAA0B,EAAE,EAC5B,SAA2B,EAAE;IAE7B,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B;;;;gEAIwD;QACxD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,SAAS;QACpC,MAAM,QAAQ,GAAI,IAA2C,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC;YAAE,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;IACrD,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,GAAG,GAAe;QACtB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;QAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;cACtD,CAAC,OAAO,CAAC,MAAM;gBACf,CAAC,CAAC,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpD,CAAC,CAAC,kCAAkC,CAAC;KAC1C,CAAC;IACF,IAAI,MAAM,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;QAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjF,IAAI,IAAI,CAAC,aAAa;QAAE,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAC/D,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACnF,IAAI,OAAO,CAAC,MAAM;QAAE,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;IAChD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;QAAE,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC9E,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACtD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Yujin Forge -- el tope del archivo de instrucciones del proyecto, con la
|
|
3
|
+
* compuerta que lo verifica (P2, PND-284).
|
|
4
|
+
*
|
|
5
|
+
* EL PAGADOR, MEDIDO
|
|
6
|
+
*
|
|
7
|
+
* El harness inyecta el `CLAUDE.md` del proyecto ENTERO como adjunto
|
|
8
|
+
* `instructions` en la llamada 1 de cada turno, y ese prefijo lo relee cada
|
|
9
|
+
* llamada de la rueda de herramientas (159 de mediana en el brazo C1). En
|
|
10
|
+
* ese brazo el archivo fue de 0 a 47.991 caracteres en tres dias = 30.215
|
|
11
|
+
* tokens, USD 74,19 (6,29% del corpus).
|
|
12
|
+
*
|
|
13
|
+
* Lo que lo hace distinto de la conversacion arrastrada: NINGUN reinicio lo
|
|
14
|
+
* limpia. La huella esta en el piso de la base en los cuatro reinicios del
|
|
15
|
+
* corpus -- 45.167 / 62.671 / 66.829 / 71.863 tokens. Subio 26.696 en tres
|
|
16
|
+
* dias. Quien reinicia el panel para abaratar se lleva el CLAUDE.md
|
|
17
|
+
* completo de vuelta.
|
|
18
|
+
*
|
|
19
|
+
* EL PRINCIPIO (decision del dueno, 2026-11-03)
|
|
20
|
+
*
|
|
21
|
+
* CLAUDE.md lleva solo lo que el agente DEBE OBEDECER. Lo que puede
|
|
22
|
+
* necesitar CONSULTAR se desprende, y queda en el archivo una linea
|
|
23
|
+
* que diga donde esta.
|
|
24
|
+
*
|
|
25
|
+
* Se quedan: las reglas que no se negocian, los limites duros, donde viven
|
|
26
|
+
* las cosas, el puntero al peldano en curso, la exigencia de evidencia.
|
|
27
|
+
* Se desprenden: el registro de decisiones, el de hallazgos, el historial
|
|
28
|
+
* de auditorias, el glosario, los registros de turnos pasados -- cualquier
|
|
29
|
+
* cosa que el agente lea A VECES.
|
|
30
|
+
*
|
|
31
|
+
* POR QUE VA CON COMPUERTA, Y ES LA MITAD DE LA DECISION
|
|
32
|
+
*
|
|
33
|
+
* Un presupuesto que no se verifica contra lo que entrega no es un
|
|
34
|
+
* presupuesto: es una etiqueta. Es exactamente el defecto que esta tanda
|
|
35
|
+
* arregla en `graph_snapshot.ts` (declaraba 2.400 tokens y entregaba
|
|
36
|
+
* 4.693, por asumir 4 chars/token), y repetirlo en el arreglo seria
|
|
37
|
+
* grotesco. Asi que el tope no se declara en un documento: se MIDE, con el
|
|
38
|
+
* mismo divisor calibrado, y la compuerta NOMBRA la seccion que lo paso --
|
|
39
|
+
* sin el culpable, el que la ve no sabe que desprender.
|
|
40
|
+
*
|
|
41
|
+
* ASCII-only.
|
|
42
|
+
*/
|
|
43
|
+
/** Caracteres por token del archivo de instrucciones.
|
|
44
|
+
*
|
|
45
|
+
* 2,36, medidos por minimos cuadrados sobre los 47 turnos del brazo contra
|
|
46
|
+
* el `usage` real (R2 = 0,9915). El coeficiente del bloque `instructions`
|
|
47
|
+
* sale del mismo ajuste que el de la historia: las dos cosas son prosa
|
|
48
|
+
* tecnica en castellano.
|
|
49
|
+
*
|
|
50
|
+
* NO es 4. Asumir 4 habria dado un tope efectivo de 32.000 caracteres en
|
|
51
|
+
* lugar de 18.880 -- o sea que el archivo de C1 (47.991) habria pasado la
|
|
52
|
+
* compuerta al 1,5x del tope en vez de al 2,5x. */
|
|
53
|
+
export declare const INSTRUCTIONS_CHARS_PER_TOKEN = 2.36;
|
|
54
|
+
/** El tope, en tokens. Decision del dueno: 8.000.
|
|
55
|
+
*
|
|
56
|
+
* De los 30.215 medidos en C1 recorta ~22.000 y deja cuatro veces lo que
|
|
57
|
+
* un archivo de instrucciones VIGENTES necesita (el CLAUDE.md de
|
|
58
|
+
* yujin-forge, que documenta un proyecto bastante mas grande, mide 3.670).
|
|
59
|
+
* No se negocia a la baja ni a la alta sin una medicion nueva. */
|
|
60
|
+
export declare const INSTRUCTIONS_BUDGET_TOKENS = 8000;
|
|
61
|
+
export interface InstructionsSection {
|
|
62
|
+
title: string;
|
|
63
|
+
/** Caracteres de la seccion, encabezado incluido. */
|
|
64
|
+
chars: number;
|
|
65
|
+
tokens: number;
|
|
66
|
+
}
|
|
67
|
+
export interface InstructionsMeasurement {
|
|
68
|
+
total_chars: number;
|
|
69
|
+
total_tokens: number;
|
|
70
|
+
/** Lo que esta ANTES del primer encabezado de nivel 2. */
|
|
71
|
+
preamble_chars: number;
|
|
72
|
+
/** Secciones en el orden del archivo. */
|
|
73
|
+
sections: InstructionsSection[];
|
|
74
|
+
/** Las mismas, de la mas cara a la mas barata. */
|
|
75
|
+
ranked: InstructionsSection[];
|
|
76
|
+
}
|
|
77
|
+
export interface InstructionsGateResult {
|
|
78
|
+
ok: boolean;
|
|
79
|
+
total_chars: number;
|
|
80
|
+
total_tokens: number;
|
|
81
|
+
budget_tokens: number;
|
|
82
|
+
over_by_tokens: number;
|
|
83
|
+
/** El conjunto MINIMO de secciones que, desprendidas, hacen pasar la
|
|
84
|
+
* compuerta. Vacio cuando pasa. */
|
|
85
|
+
culprits: InstructionsSection[];
|
|
86
|
+
/** El mensaje para una consola: el numero, los culpables y el criterio. */
|
|
87
|
+
message: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Medir el archivo y repartirlo por seccion.
|
|
91
|
+
*
|
|
92
|
+
* El reparto es por encabezado de nivel 2 (`## `), que es la granularidad
|
|
93
|
+
* en la que un dueno desprende: "saca el registro de decisiones", no "saca
|
|
94
|
+
* 4.000 caracteres". Cierra con el total -- preambulo + secciones = el
|
|
95
|
+
* archivo -- porque un reparto que pierde caracteres por el camino no
|
|
96
|
+
* sirve para decidir que sacar.
|
|
97
|
+
*/
|
|
98
|
+
export declare function measureInstructions(text: string): InstructionsMeasurement;
|
|
99
|
+
export interface InstructionsGateOptions {
|
|
100
|
+
budgetTokens?: number;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* La compuerta. Falla cuando el archivo pasa el tope, y nombra el conjunto
|
|
104
|
+
* MINIMO de secciones que hay que desprender para volver debajo.
|
|
105
|
+
*
|
|
106
|
+
* Por que el conjunto minimo y no "las grandes": si la compuerta nombrara
|
|
107
|
+
* secciones de mas, el dueno desprenderia cosas que no hacia falta sacar
|
|
108
|
+
* (y el principio dice que lo que se OBEDECE se queda). Si nombrara de
|
|
109
|
+
* menos, desprenderia lo que le dijeron y la compuerta seguiria roja --
|
|
110
|
+
* que es la forma mas rapida de que alguien la desactive.
|
|
111
|
+
*/
|
|
112
|
+
export declare function instructionsGate(text: string, opts?: InstructionsGateOptions): InstructionsGateResult;
|
|
113
|
+
//# sourceMappingURL=instructions_budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions_budget.d.ts","sourceRoot":"","sources":["../../src/core/instructions_budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH;;;;;;;;;oDASoD;AACpD,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD;;;;;mEAKmE;AACnE,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,kDAAkD;IAClD,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB;wCACoC;IACpC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CA6BzE;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,uBAA4B,GACjC,sBAAsB,CAsDxB"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Yujin Forge -- el tope del archivo de instrucciones del proyecto, con la
|
|
3
|
+
* compuerta que lo verifica (P2, PND-284).
|
|
4
|
+
*
|
|
5
|
+
* EL PAGADOR, MEDIDO
|
|
6
|
+
*
|
|
7
|
+
* El harness inyecta el `CLAUDE.md` del proyecto ENTERO como adjunto
|
|
8
|
+
* `instructions` en la llamada 1 de cada turno, y ese prefijo lo relee cada
|
|
9
|
+
* llamada de la rueda de herramientas (159 de mediana en el brazo C1). En
|
|
10
|
+
* ese brazo el archivo fue de 0 a 47.991 caracteres en tres dias = 30.215
|
|
11
|
+
* tokens, USD 74,19 (6,29% del corpus).
|
|
12
|
+
*
|
|
13
|
+
* Lo que lo hace distinto de la conversacion arrastrada: NINGUN reinicio lo
|
|
14
|
+
* limpia. La huella esta en el piso de la base en los cuatro reinicios del
|
|
15
|
+
* corpus -- 45.167 / 62.671 / 66.829 / 71.863 tokens. Subio 26.696 en tres
|
|
16
|
+
* dias. Quien reinicia el panel para abaratar se lleva el CLAUDE.md
|
|
17
|
+
* completo de vuelta.
|
|
18
|
+
*
|
|
19
|
+
* EL PRINCIPIO (decision del dueno, 2026-11-03)
|
|
20
|
+
*
|
|
21
|
+
* CLAUDE.md lleva solo lo que el agente DEBE OBEDECER. Lo que puede
|
|
22
|
+
* necesitar CONSULTAR se desprende, y queda en el archivo una linea
|
|
23
|
+
* que diga donde esta.
|
|
24
|
+
*
|
|
25
|
+
* Se quedan: las reglas que no se negocian, los limites duros, donde viven
|
|
26
|
+
* las cosas, el puntero al peldano en curso, la exigencia de evidencia.
|
|
27
|
+
* Se desprenden: el registro de decisiones, el de hallazgos, el historial
|
|
28
|
+
* de auditorias, el glosario, los registros de turnos pasados -- cualquier
|
|
29
|
+
* cosa que el agente lea A VECES.
|
|
30
|
+
*
|
|
31
|
+
* POR QUE VA CON COMPUERTA, Y ES LA MITAD DE LA DECISION
|
|
32
|
+
*
|
|
33
|
+
* Un presupuesto que no se verifica contra lo que entrega no es un
|
|
34
|
+
* presupuesto: es una etiqueta. Es exactamente el defecto que esta tanda
|
|
35
|
+
* arregla en `graph_snapshot.ts` (declaraba 2.400 tokens y entregaba
|
|
36
|
+
* 4.693, por asumir 4 chars/token), y repetirlo en el arreglo seria
|
|
37
|
+
* grotesco. Asi que el tope no se declara en un documento: se MIDE, con el
|
|
38
|
+
* mismo divisor calibrado, y la compuerta NOMBRA la seccion que lo paso --
|
|
39
|
+
* sin el culpable, el que la ve no sabe que desprender.
|
|
40
|
+
*
|
|
41
|
+
* ASCII-only.
|
|
42
|
+
*/
|
|
43
|
+
/** Caracteres por token del archivo de instrucciones.
|
|
44
|
+
*
|
|
45
|
+
* 2,36, medidos por minimos cuadrados sobre los 47 turnos del brazo contra
|
|
46
|
+
* el `usage` real (R2 = 0,9915). El coeficiente del bloque `instructions`
|
|
47
|
+
* sale del mismo ajuste que el de la historia: las dos cosas son prosa
|
|
48
|
+
* tecnica en castellano.
|
|
49
|
+
*
|
|
50
|
+
* NO es 4. Asumir 4 habria dado un tope efectivo de 32.000 caracteres en
|
|
51
|
+
* lugar de 18.880 -- o sea que el archivo de C1 (47.991) habria pasado la
|
|
52
|
+
* compuerta al 1,5x del tope en vez de al 2,5x. */
|
|
53
|
+
export const INSTRUCTIONS_CHARS_PER_TOKEN = 2.36;
|
|
54
|
+
/** El tope, en tokens. Decision del dueno: 8.000.
|
|
55
|
+
*
|
|
56
|
+
* De los 30.215 medidos en C1 recorta ~22.000 y deja cuatro veces lo que
|
|
57
|
+
* un archivo de instrucciones VIGENTES necesita (el CLAUDE.md de
|
|
58
|
+
* yujin-forge, que documenta un proyecto bastante mas grande, mide 3.670).
|
|
59
|
+
* No se negocia a la baja ni a la alta sin una medicion nueva. */
|
|
60
|
+
export const INSTRUCTIONS_BUDGET_TOKENS = 8000;
|
|
61
|
+
function tokens(chars) {
|
|
62
|
+
return chars / INSTRUCTIONS_CHARS_PER_TOKEN;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Medir el archivo y repartirlo por seccion.
|
|
66
|
+
*
|
|
67
|
+
* El reparto es por encabezado de nivel 2 (`## `), que es la granularidad
|
|
68
|
+
* en la que un dueno desprende: "saca el registro de decisiones", no "saca
|
|
69
|
+
* 4.000 caracteres". Cierra con el total -- preambulo + secciones = el
|
|
70
|
+
* archivo -- porque un reparto que pierde caracteres por el camino no
|
|
71
|
+
* sirve para decidir que sacar.
|
|
72
|
+
*/
|
|
73
|
+
export function measureInstructions(text) {
|
|
74
|
+
const t = typeof text === 'string' ? text : '';
|
|
75
|
+
const total_chars = t.length;
|
|
76
|
+
if (t.trim().length === 0) {
|
|
77
|
+
return { total_chars, total_tokens: 0, preamble_chars: total_chars, sections: [], ranked: [] };
|
|
78
|
+
}
|
|
79
|
+
/* Corte por ANTICIPACION: no consume el salto de linea, asi que la suma
|
|
80
|
+
* de las partes es el archivo. La leccion vino de `splitHistoryByRole`,
|
|
81
|
+
* donde un split sobre /\n(?=...)/ se comia un caracter por frontera y el
|
|
82
|
+
* reparto cerraba en 42 contra 44. */
|
|
83
|
+
const parts = t.split(/(?=\n## )/);
|
|
84
|
+
const sections = [];
|
|
85
|
+
let preamble_chars = 0;
|
|
86
|
+
for (const p of parts) {
|
|
87
|
+
const m = /^\n?## +(.*)$/m.exec(p);
|
|
88
|
+
if (!m || !/^\n?## /.test(p)) {
|
|
89
|
+
preamble_chars += p.length;
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
sections.push({ title: (m[1] ?? '').trim(), chars: p.length, tokens: tokens(p.length) });
|
|
93
|
+
}
|
|
94
|
+
const ranked = [...sections].sort((a, b) => b.chars - a.chars);
|
|
95
|
+
return {
|
|
96
|
+
total_chars,
|
|
97
|
+
total_tokens: tokens(total_chars),
|
|
98
|
+
preamble_chars,
|
|
99
|
+
sections,
|
|
100
|
+
ranked,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* La compuerta. Falla cuando el archivo pasa el tope, y nombra el conjunto
|
|
105
|
+
* MINIMO de secciones que hay que desprender para volver debajo.
|
|
106
|
+
*
|
|
107
|
+
* Por que el conjunto minimo y no "las grandes": si la compuerta nombrara
|
|
108
|
+
* secciones de mas, el dueno desprenderia cosas que no hacia falta sacar
|
|
109
|
+
* (y el principio dice que lo que se OBEDECE se queda). Si nombrara de
|
|
110
|
+
* menos, desprenderia lo que le dijeron y la compuerta seguiria roja --
|
|
111
|
+
* que es la forma mas rapida de que alguien la desactive.
|
|
112
|
+
*/
|
|
113
|
+
export function instructionsGate(text, opts = {}) {
|
|
114
|
+
const budget = Number.isFinite(Number(opts.budgetTokens)) && Number(opts.budgetTokens) > 0
|
|
115
|
+
? Number(opts.budgetTokens)
|
|
116
|
+
: INSTRUCTIONS_BUDGET_TOKENS;
|
|
117
|
+
const m = measureInstructions(text);
|
|
118
|
+
if (m.total_tokens <= budget) {
|
|
119
|
+
return {
|
|
120
|
+
ok: true,
|
|
121
|
+
total_chars: m.total_chars,
|
|
122
|
+
total_tokens: m.total_tokens,
|
|
123
|
+
budget_tokens: budget,
|
|
124
|
+
over_by_tokens: 0,
|
|
125
|
+
culprits: [],
|
|
126
|
+
message: 'Instrucciones del proyecto: ' + Math.round(m.total_tokens)
|
|
127
|
+
+ ' tokens de ' + String(budget) + ' -- dentro del tope.',
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/* El conjunto minimo: de la mas cara a la mas barata, hasta que lo que
|
|
131
|
+
* queda entra. Es la eleccion voraz, y para este objetivo ("sacar la
|
|
132
|
+
* menor cantidad de secciones") es la correcta. */
|
|
133
|
+
const culprits = [];
|
|
134
|
+
let restante = m.total_chars;
|
|
135
|
+
const cap = budget * INSTRUCTIONS_CHARS_PER_TOKEN;
|
|
136
|
+
for (const s of m.ranked) {
|
|
137
|
+
if (restante <= cap)
|
|
138
|
+
break;
|
|
139
|
+
culprits.push(s);
|
|
140
|
+
restante -= s.chars;
|
|
141
|
+
}
|
|
142
|
+
const lista = culprits.map((c) => ' - "' + c.title + '" (' + Math.round(c.tokens) + ' tokens)').join('\n');
|
|
143
|
+
const message = [
|
|
144
|
+
'COMPUERTA: las instrucciones del proyecto pasan el tope.',
|
|
145
|
+
' ' + Math.round(m.total_tokens) + ' tokens medidos contra un tope de ' + String(budget) + '.',
|
|
146
|
+
' Viajan ENTERAS en cada llamada del turno, y ningun reinicio del panel las limpia.',
|
|
147
|
+
'',
|
|
148
|
+
'Desprende estas secciones y vuelve a entrar:',
|
|
149
|
+
lista,
|
|
150
|
+
'',
|
|
151
|
+
'El criterio: el archivo lleva solo lo que el agente DEBE OBEDECER.',
|
|
152
|
+
'Lo que puede necesitar CONSULTAR se desprende a su propio archivo, y',
|
|
153
|
+
'queda aca una linea que diga donde esta.',
|
|
154
|
+
].join('\n');
|
|
155
|
+
return {
|
|
156
|
+
ok: false,
|
|
157
|
+
total_chars: m.total_chars,
|
|
158
|
+
total_tokens: m.total_tokens,
|
|
159
|
+
budget_tokens: budget,
|
|
160
|
+
over_by_tokens: m.total_tokens - budget,
|
|
161
|
+
culprits,
|
|
162
|
+
message,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=instructions_budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions_budget.js","sourceRoot":"","sources":["../../src/core/instructions_budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -134,6 +134,21 @@ export interface LimitsConfig {
|
|
|
134
134
|
* emitted the tool_use block (Pablo 2026-06-19). Plan/CLI ignores this (the
|
|
135
135
|
* subprocess sets its own). Default 8192. */
|
|
136
136
|
max_tokens_per_turn: number;
|
|
137
|
+
/** P0 (PND-281) -- tope en tokens para lo que el AGENTE dijo en turnos
|
|
138
|
+
* ANTERIORES y que vuelve a viajar en cada llamada.
|
|
139
|
+
*
|
|
140
|
+
* No toca los mensajes del dueno: viajan enteros y en orden, siempre.
|
|
141
|
+
* Lo que se acota son las respuestas viejas del agente, que quedan en
|
|
142
|
+
* disco y se piden si hacen falta (ver src/chat/history_budget.ts).
|
|
143
|
+
*
|
|
144
|
+
* Medido sobre los 47 turnos del brazo C1: la historia arrastrada cuesta
|
|
145
|
+
* USD 181,25 (15,38% del corpus) y no compra re-orientacion (t = 1,88,
|
|
146
|
+
* no significativo; 5,1x en contra). El default de 4.000 ahorra
|
|
147
|
+
* USD 102,94 con la mitad del dueno intacta.
|
|
148
|
+
*
|
|
149
|
+
* 0 = desactivado (se manda la conversacion entera, como antes de
|
|
150
|
+
* 1.28.0). Es la valvula de escape para quien prefiera pagar. */
|
|
151
|
+
agent_history_budget_tokens: number;
|
|
137
152
|
/** Plan-mode turn cap: max wall-clock for one `claude -p` subprocess
|
|
138
153
|
* reasoning turn before Forge kills it (504). Default 30 min; raise it
|
|
139
154
|
* for long autonomous turns. NOT the per-request HTTP timeout (that is
|