@nac3/forge-cli 1.24.1 → 1.26.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 (122) hide show
  1. package/dist/chat/agent_session.d.ts.map +1 -1
  2. package/dist/chat/agent_session.js +132 -12
  3. package/dist/chat/agent_session.js.map +1 -1
  4. package/dist/chat/cache_ttl.d.ts +143 -0
  5. package/dist/chat/cache_ttl.d.ts.map +1 -0
  6. package/dist/chat/cache_ttl.js +165 -0
  7. package/dist/chat/cache_ttl.js.map +1 -0
  8. package/dist/chat/claude.d.ts +1 -0
  9. package/dist/chat/claude.d.ts.map +1 -1
  10. package/dist/chat/claude.js +47 -5
  11. package/dist/chat/claude.js.map +1 -1
  12. package/dist/chat/claude_cli.d.ts +24 -0
  13. package/dist/chat/claude_cli.d.ts.map +1 -1
  14. package/dist/chat/claude_cli.js +76 -10
  15. package/dist/chat/claude_cli.js.map +1 -1
  16. package/dist/chat/panel.d.ts.map +1 -1
  17. package/dist/chat/panel.js +133 -21
  18. package/dist/chat/panel.js.map +1 -1
  19. package/dist/chat/server.d.ts.map +1 -1
  20. package/dist/chat/server.js +32 -3
  21. package/dist/chat/server.js.map +1 -1
  22. package/dist/chat/tools/evidence.d.ts +15 -0
  23. package/dist/chat/tools/evidence.d.ts.map +1 -1
  24. package/dist/chat/tools/evidence.js +16 -0
  25. package/dist/chat/tools/evidence.js.map +1 -1
  26. package/dist/chat/tools/keys.d.ts.map +1 -1
  27. package/dist/chat/tools/keys.js +22 -2
  28. package/dist/chat/tools/keys.js.map +1 -1
  29. package/dist/chat/tools/pending.d.ts +3 -0
  30. package/dist/chat/tools/pending.d.ts.map +1 -1
  31. package/dist/chat/tools/pending.js +40 -3
  32. package/dist/chat/tools/pending.js.map +1 -1
  33. package/dist/chat/tools/session_verbs.d.ts +83 -0
  34. package/dist/chat/tools/session_verbs.d.ts.map +1 -1
  35. package/dist/chat/tools/session_verbs.js +251 -18
  36. package/dist/chat/tools/session_verbs.js.map +1 -1
  37. package/dist/chat/tools/shell.d.ts +11 -0
  38. package/dist/chat/tools/shell.d.ts.map +1 -1
  39. package/dist/chat/tools/shell.js +68 -1
  40. package/dist/chat/tools/shell.js.map +1 -1
  41. package/dist/commands/chat.d.ts +6 -0
  42. package/dist/commands/chat.d.ts.map +1 -1
  43. package/dist/commands/chat.js +25 -0
  44. package/dist/commands/chat.js.map +1 -1
  45. package/dist/commands/limits.d.ts.map +1 -1
  46. package/dist/commands/limits.js +85 -6
  47. package/dist/commands/limits.js.map +1 -1
  48. package/dist/commands/pending.d.ts.map +1 -1
  49. package/dist/commands/pending.js +26 -1
  50. package/dist/commands/pending.js.map +1 -1
  51. package/dist/commands/urazuke.d.ts.map +1 -1
  52. package/dist/commands/urazuke.js +82 -0
  53. package/dist/commands/urazuke.js.map +1 -1
  54. package/dist/core/brain_pin.d.ts +74 -0
  55. package/dist/core/brain_pin.d.ts.map +1 -0
  56. package/dist/core/brain_pin.js +113 -0
  57. package/dist/core/brain_pin.js.map +1 -0
  58. package/dist/core/cost_router.d.ts.map +1 -1
  59. package/dist/core/cost_router.js +56 -0
  60. package/dist/core/cost_router.js.map +1 -1
  61. package/dist/core/limits_config.d.ts +61 -0
  62. package/dist/core/limits_config.d.ts.map +1 -1
  63. package/dist/core/limits_config.js +78 -0
  64. package/dist/core/limits_config.js.map +1 -1
  65. package/dist/core/provider_keys.d.ts +33 -0
  66. package/dist/core/provider_keys.d.ts.map +1 -1
  67. package/dist/core/provider_keys.js +40 -3
  68. package/dist/core/provider_keys.js.map +1 -1
  69. package/dist/docs/doctrine/session-orchestration.md +109 -86
  70. package/dist/llm/sse_stream.d.ts +5 -0
  71. package/dist/llm/sse_stream.d.ts.map +1 -1
  72. package/dist/llm/sse_stream.js +26 -3
  73. package/dist/llm/sse_stream.js.map +1 -1
  74. package/dist/mcp/bridge_registry.d.ts +1 -1
  75. package/dist/nac3/internal_manifest.d.ts.map +1 -1
  76. package/dist/nac3/internal_manifest.js +2 -0
  77. package/dist/nac3/internal_manifest.js.map +1 -1
  78. package/dist/pending/store.d.ts +12 -0
  79. package/dist/pending/store.d.ts.map +1 -1
  80. package/dist/pending/store.js +20 -0
  81. package/dist/pending/store.js.map +1 -1
  82. package/dist/pending/types.d.ts +11 -0
  83. package/dist/pending/types.d.ts.map +1 -1
  84. package/dist/pending/types.js.map +1 -1
  85. package/dist/tasks/supervisor.d.ts +31 -0
  86. package/dist/tasks/supervisor.d.ts.map +1 -1
  87. package/dist/tasks/supervisor.js +61 -5
  88. package/dist/tasks/supervisor.js.map +1 -1
  89. package/dist/telemetry/usage.d.ts +107 -0
  90. package/dist/telemetry/usage.d.ts.map +1 -1
  91. package/dist/telemetry/usage.js +186 -13
  92. package/dist/telemetry/usage.js.map +1 -1
  93. package/dist/urazuke/close_gate.d.ts +47 -3
  94. package/dist/urazuke/close_gate.d.ts.map +1 -1
  95. package/dist/urazuke/close_gate.js +57 -3
  96. package/dist/urazuke/close_gate.js.map +1 -1
  97. package/dist/urazuke/evidence.d.ts +10 -0
  98. package/dist/urazuke/evidence.d.ts.map +1 -1
  99. package/dist/urazuke/evidence.js +63 -3
  100. package/dist/urazuke/evidence.js.map +1 -1
  101. package/dist/urazuke/external_audit.d.ts +89 -0
  102. package/dist/urazuke/external_audit.d.ts.map +1 -0
  103. package/dist/urazuke/external_audit.js +309 -0
  104. package/dist/urazuke/external_audit.js.map +1 -0
  105. package/dist/urazuke/receipts.d.ts +28 -1
  106. package/dist/urazuke/receipts.d.ts.map +1 -1
  107. package/dist/urazuke/receipts.js +59 -6
  108. package/dist/urazuke/receipts.js.map +1 -1
  109. package/dist/version.d.ts +1 -1
  110. package/dist/version.js +1 -1
  111. package/docs/doctrine/session-orchestration.md +109 -86
  112. package/package.json +1 -1
  113. package/src/i18n/catalogs/ar.json +570 -568
  114. package/src/i18n/catalogs/de.json +570 -568
  115. package/src/i18n/catalogs/en.json +570 -568
  116. package/src/i18n/catalogs/es.json +570 -568
  117. package/src/i18n/catalogs/fr.json +570 -568
  118. package/src/i18n/catalogs/hi.json +570 -568
  119. package/src/i18n/catalogs/it.json +570 -568
  120. package/src/i18n/catalogs/ja.json +570 -568
  121. package/src/i18n/catalogs/pt.json +570 -568
  122. package/src/i18n/catalogs/zh.json +570 -568
@@ -91,14 +91,32 @@ export function exitOnlyEvidence(counts) {
91
91
  }
92
92
  /** Derive the verdict from the kind + exit code + counts, via the polarity
93
93
  * table above. Pure. */
94
- export function receiptVerdict(kind, exit_code, counts, mode) {
94
+ export function receiptVerdict(kind, exit_code, counts, mode, evidence) {
95
95
  const failed = counts.failed ?? 0;
96
96
  const failedFiles = counts.failed_files ?? 0;
97
97
  switch (KIND_POLARITY[kind]) {
98
98
  case 'nonzero_is_success':
99
99
  if (mode === 'mutation')
100
100
  return (exit_code !== 0 && failed > 0) ? 'ok' : 'not_ok';
101
- return (exit_code !== 0 && (failed > 0 || failedFiles > 0)) ? 'ok' : 'not_ok';
101
+ if (exit_code === 0)
102
+ return 'not_ok';
103
+ /* PND-127 -- el rojo cuya herramienta NO es un runner de tests.
104
+ *
105
+ * Un escaneo de seguridad sale con codigo 1 cuando encuentra algo, y
106
+ * eso es su conducta correcta: es exactamente la falla que el rojo
107
+ * tiene que exhibir. Pero imprime hallazgos, no '2 failed', asi que
108
+ * exigirle una falla LEIDA lo daba por not_ok (el brazo lo reporto
109
+ * cinco veces).
110
+ *
111
+ * Se arregla con la DECLARACION del autor (evidence='exit_code') y no
112
+ * mirando si la salida trajo cuentas, porque esas dos cosas se ven
113
+ * iguales desde los datos y una de ellas NO es evidencia: un runner
114
+ * de tests cuyo formato parseCounts no conoce (adip-kikan PND-292).
115
+ * Sin declaracion rige la regla de antes, con su motivo intacto: no
116
+ * se puede llamar rojo a algo sin una falla que senalar. */
117
+ if (evidence === 'exit_code')
118
+ return 'ok';
119
+ return (failed > 0 || failedFiles > 0) ? 'ok' : 'not_ok';
102
120
  case 'killed_is_success':
103
121
  return (counts.killed ?? 0) > 0 ? 'ok' : 'not_ok';
104
122
  case 'exit_only':
@@ -127,7 +145,7 @@ export function effectiveCounts(r) {
127
145
  * the day parseCounts learns a new runner's output. This is the one place
128
146
  * that re-derives it, from the polarity table declared above. */
129
147
  export function effectiveVerdict(r) {
130
- return receiptVerdict(r.kind, r.exit_code, effectiveCounts(r), r.mode);
148
+ return receiptVerdict(r.kind, r.exit_code, effectiveCounts(r), r.mode, r.evidence);
131
149
  }
132
150
  /** Append a receipt. The id, the verdict and the ruleset stamp are assigned
133
151
  * here.
@@ -141,7 +159,7 @@ export async function appendReceipt(slug, input) {
141
159
  const file = await readReceipts(slug);
142
160
  const id = 'RCP-' + String(file.next_id).padStart(3, '0');
143
161
  const ruleset = input.ruleset ?? await currentRulesetStamp(input.cwd);
144
- const receipt = { ...input, id, ruleset, verdict: receiptVerdict(input.kind, input.exit_code, input.counts, input.mode) };
162
+ const receipt = { ...input, id, ruleset, verdict: receiptVerdict(input.kind, input.exit_code, input.counts, input.mode, input.evidence) };
145
163
  file.items.push(receipt);
146
164
  file.next_id += 1;
147
165
  await writeReceipts(file);
@@ -369,8 +387,43 @@ export function renderReceipt(r) {
369
387
  * whose command exited 0 reads like a Forge bug; "the runner reported
370
388
  * zero tests" tells the owner exactly what to fix (PND-170). */
371
389
  ...(isEmptyRun(r) ? [' WHY : the runner reported ZERO tests. The command succeeded at running nothing, so this is not evidence of anything. Check the test path or glob (a quoted glob does not expand in cmd.exe).'] : []),
372
- ...(verdict === 'ok' && POSITIVE_KINDS.has(r.kind) && exitOnlyEvidence(counts)
373
- ? [' weight : exit code only -- the command reported no test counts. Valid evidence for a check script, weaker than a suite.'] : []),
390
+ /* PND-127 -- el peso de la evidencia, tambien para el ROJO. La linea
391
+ * existia solo para los recibos positivos; un rojo DECLARADO como
392
+ * exit-code es ahora un veredicto valido (ver receiptVerdict), asi que
393
+ * tiene que decir de que esta hecho para que nadie lo lea como una
394
+ * suite. Y la declaracion se nombra, porque es de alguien. */
395
+ ...(verdict === 'ok' && exitOnlyEvidence(counts)
396
+ && (POSITIVE_KINDS.has(r.kind) || r.evidence === 'exit_code')
397
+ ? [' weight : exit code only -- la herramienta no informo cuentas de test'
398
+ + (r.evidence === 'exit_code' ? ' y se DECLARO que no es un runner' : '')
399
+ + '. Evidencia valida (un escaneo que sale con 1 porque encontro algo SI'
400
+ + ' fallo), mas debil que una suite.'] : []),
401
+ /* PND-127 -- y cuando el rojo NO cuenta, el motivo tiene que nombrar la
402
+ * contradiccion real y las DOS puertas. Un NOT OK pelado sobre un
403
+ * comando que fallo se lee como 'no corrio', que es la pista
404
+ * equivocada; y como desde los datos no se puede saber si falto el
405
+ * runner o falto el parser, el recibo dice las dos salidas en vez de
406
+ * elegir una por el lector. */
407
+ ...(verdict === 'not_ok' && r.kind === 'red_proof' && r.exit_code !== 0
408
+ && r.evidence !== 'exit_code' && exitOnlyEvidence(counts)
409
+ ? [' WHY : el comando FALLO (exit ' + r.exit_code + ') y corrio -- lo que Forge'
410
+ + ' no pudo leer son cuentas de test en su salida, y sin una falla que senalar'
411
+ + ' no puede certificarlo como rojo. Dos salidas, segun cual sea el caso:'
412
+ + ' (a) si NO es un runner de tests (un escaneo, un verificador), volve a'
413
+ + ' correrlo declarandolo -- yujin.evidence.run con evidence="exit_code" --'
414
+ + ' y el exit code cuenta como su evidencia; (b) si SI es un runner, su'
415
+ + ' formato no esta reconocido y eso es un hueco de parseCounts: pasa la'
416
+ + ' salida para que lo aprenda, en vez de declararlo exit-code.'] : []),
417
+ /* Y el caso distinto: el runner SI informo cuentas y dijo cero fallas.
418
+ * Ahi no falta un parser, falta una falla. */
419
+ ...(verdict === 'not_ok' && r.kind === 'red_proof' && r.exit_code !== 0
420
+ && !exitOnlyEvidence(counts)
421
+ && (counts.failed ?? 0) === 0 && (counts.failed_files ?? 0) === 0
422
+ ? [' WHY : el comando fallo (exit ' + r.exit_code + ') pero el runner reporto CERO fallas'
423
+ + ((counts.total ?? 0) === 0 ? ' sobre cero tests' : '')
424
+ + '. La herramienta SI corrio: lo que no hay es una falla de conducta que el'
425
+ + ' rojo pueda exhibir -- el proceso murio por otra cosa (un crash de teardown,'
426
+ + ' una config). Revisa que el comando apunte a la prueba que tiene que fallar.'] : []),
374
427
  /* F-13 -- el recibo tiene que DECIR que corrio sin entorno. Sin esta
375
428
  * linea el rojo descartado y el rojo debil se leen igual, y el dueno
376
429
  * que produjo un rojo perfectamente bueno no sabe que le falto. */
@@ -1 +1 @@
1
- {"version":3,"file":"receipts.js","sourceRoot":"","sources":["../../src/urazuke/receipts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAqB,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAqF1D,MAAM,SAAS,GAAG,eAAe,CAAC;AAElC,SAAS,UAAU;IACjB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC3C,IAAI,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAClI,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;QAC9C,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;IACzB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAiB;IAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1F,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC;AAkCD,MAAM,aAAa,GAAkC;IACnD,SAAS,EAAE,oBAAoB;IAC/B,QAAQ,EAAE,mBAAmB;IAC7B,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,sBAAsB;IAC7B,UAAU,EAAE,sBAAsB;IAClC,GAAG,EAAE,sBAAsB;IAC3B,OAAO,EAAE,sBAAsB;CAChC,CAAC;AAEF;;;;;;;;;;;;;wEAawE;AACxE,MAAM,UAAU,QAAQ,CAAC,MAAqB;IAC5C,OAAO,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;uEAQuE;AACvE,MAAM,UAAU,gBAAgB,CAAC,MAAqB;IACpD,OAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;AAC7G,CAAC;AAED;yBACyB;AACzB,MAAM,UAAU,cAAc,CAAC,IAAiB,EAAE,SAAiB,EAAE,MAAqB,EAAE,IAA0B;IACpH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAC7C,QAAQ,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,KAAK,oBAAoB;YACvB,IAAI,IAAI,KAAK,UAAU;gBAAE,OAAO,CAAC,SAAS,KAAK,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClF,OAAO,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChF,KAAK,mBAAmB;YACtB,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpD,KAAK,WAAW;YACd,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3C,KAAK,sBAAsB;YACzB,IAAI,SAAS,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,QAAQ,CAAC;YACrD;;kCAEsB;YACtB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;;;;oDAMoD;AACpD,MAAM,UAAU,eAAe,CAAC,CAAU;IACxC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;AACxD,CAAC;AAED;;;kEAGkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACzC,OAAO,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;sCAOsC;AACtC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,KAAmB;IACnE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,OAAO,GAAY,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IACnI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IAClB,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC;AACjB,CAAC;AAiCD;;;;gEAIgE;AAChE,MAAM,UAAU,WAAW,CAAC,CAAU;IACpC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACzE;;;;;;;;;;;;;;wBAcoB;IACpB,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;AACtD,CAAC;AAED;;;kEAGkE;AAClE,MAAM,UAAU,kBAAkB,CAAC,CAAU;IAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACzE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;AACtD,CAAC;AAED;;;uEAGuE;AACvE,SAAS,UAAU,CAAC,CAAU;IAC5B,OAAO,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;;;;;kDAKkD;AAClD,MAAM,UAAU,iBAAiB,CAAC,KAAgB,EAAE,SAAkC,EAAE;IACtF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnG,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC;QACnH,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;QACzE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM;QAC5C,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM;QAC5C,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QACvG,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM;QAC1D,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnC,CAAC;AACJ,CAAC;AAED;0EAC0E;AAC1E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAc,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAEvF;;;6DAG6D;AAC7D,MAAM,UAAU,UAAU,CAAC,CAAU;IACnC,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED;;0BAE0B;AAC1B,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC;0EACsE;IACtE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,GAAkB,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,CAAC,EAAU,EAAsB,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7H,8FAA8F;IAC9F;uEACmE;IACnE,MAAM,SAAS,GAAG,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzE,MAAM,MAAM,GAAG,CAAC,EAAU,EAAsB,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClI;;;;;yBAKqB;IACrB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxG,MAAM,IAAI,GAAG,CAAC,EAAU,EAAsB,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjI;;;;;;;;;gEAS4D;IAC5D,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,8BAA8B,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAAC,IAAI,EAAE,IAAI,IAAI;QAAE,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IACvI,+EAA+E;IAC/E,MAAM,EAAE,GAAG,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAAC,IAAI,EAAE,IAAI,IAAI;QAAE,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC;IACrG,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAAC,IAAI,EAAE,IAAI,IAAI;QAAE,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IAC/F,MAAM,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAAC,IAAI,EAAE,IAAI,IAAI;QAAE,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC;IAClG,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,2BAA2B,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAAC,IAAI,EAAE,IAAI,IAAI;QAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;IAC5H,qCAAqC;IACrC,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI;QAAE,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IACvF,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI;QAAE,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IACvF,4DAA4D;IAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI;QAAE,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IACvG;;;;;;;;6DAQyD;IACzD,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAC5G,2DAA2D;IAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAAC,IAAI,EAAE,IAAI,IAAI;QAAE,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IACzE,MAAM,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAAC,IAAI,EAAE,IAAI,IAAI;QAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;IAC7E;;;;;;;0DAOsD;IACtD,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAAC,IAAI,CAAC,IAAI,IAAI;YAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAAC,CAAC;IAC7F,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAAC,IAAI,CAAC,IAAI,IAAI;YAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAAC,CAAC;IAC7F,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAAC,IAAI,CAAC,IAAI,IAAI;YAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;IAAC,CAAC;IAClG,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAAC,IAAI,CAAC,IAAI,IAAI;YAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAAC,CAAC;IAC5F;;;;;;;;;mBASe;IACf,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;0EAI0E;AAC1E,MAAM,UAAU,aAAa,CAAC,CAAU;IACtC,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG;QACV,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE;QACtD,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE;QACxE,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE;QACtD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE;QACtD,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE;KAC7D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO;QACL,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE;cAC/F,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,cAAc,GAAG,CAAC,CAAC,OAAO;QAC1B,cAAc,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5G,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,4EAA4E,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzK,cAAc,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D;;wEAEgE;QAChE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oMAAoM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChO,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC;YAC5E,CAAC,CAAC,CAAC,4HAA4H,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxI;;2EAEmE;QACnE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM;YACvB,CAAC,CAAC,CAAC,iDAAiD,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;sBAC1E,+EAA+E;sBAC/E,iFAAiF;sBACjF,qDAAqD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM;YACjC,CAAC,CAAC,CAAC,4CAA4C,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM;YACzB,CAAC,CAAC,CAAC,uCAAuC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM;YACxB,CAAC,CAAC,CAAC,qCAAqC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;QACvC,cAAc,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,MAAM;KACtF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"receipts.js","sourceRoot":"","sources":["../../src/urazuke/receipts.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -2,5 +2,5 @@
2
2
  * Yujin Forge CLI version. Kept in sync with package.json by the npm
3
3
  * "version" lifecycle (scripts/sync_version.mjs) so the two never drift.
4
4
  */
5
- export declare const VERSION = "1.24.1";
5
+ export declare const VERSION = "1.26.0";
6
6
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -2,5 +2,5 @@
2
2
  * Yujin Forge CLI version. Kept in sync with package.json by the npm
3
3
  * "version" lifecycle (scripts/sync_version.mjs) so the two never drift.
4
4
  */
5
- export const VERSION = '1.24.1';
5
+ export const VERSION = '1.26.0';
6
6
  //# sourceMappingURL=version.js.map
@@ -1,86 +1,109 @@
1
- # Doctrine: session orchestration (yujin.session.*)
2
-
3
- When it is optimal, you may launch other `yf chat` instances as
4
- HEADLESS AGENT sub-sessions to do orthogonal, well-scoped work in
5
- parallel with this conversation, and collect their results over the
6
- coordination bridge. This is the `yujin.session.*` verb family.
7
-
8
- This doctrine is about WHEN to spawn and how to keep it safe and
9
- cheap. It is distinct from `agent-orchestrator` (product-side agents
10
- the generated software dispatches on the user's machine).
11
-
12
- ## Off by default
13
-
14
- The whole capability is gated by `multiagent.enabled` in the limits
15
- config (Ajustes > Limites), DEFAULT OFF. While off, the
16
- `yujin.session.*` verbs are hidden from the manifest, this doctrine is
17
- not injected, the system prompt tells you it is OFF, and the handlers
18
- refuse. So you only see + use these verbs when the user has explicitly
19
- turned multi-agent on. If the user asks for parallel sub-sessions while
20
- it is off, tell them to enable it in Ajustes > Limites.
21
-
22
- ## The verbs
23
-
24
- - `yujin.session.spawn { task, project_root?, budget_tokens?, label? }`
25
- -- launch a sub-session for one self-contained task. Returns a
26
- handle immediately (NON-blocking). The user approves each spawn
27
- (it spends BYOK tokens autonomously).
28
- - `yujin.session.collect { handle?, wait_ms? }` -- read the results
29
- sub-sessions have published. `wait_ms` blocks up to that long for
30
- at least one result; default 0 = return whatever has arrived.
31
- - `yujin.session.list` -- what you have spawned + whether each is
32
- still alive.
33
- - `yujin.session.stop { handle }` -- terminate one.
34
-
35
- ## Spawn ONLY when it pays off
36
-
37
- A sub-session boots a whole headless server and spends tokens, so the
38
- overhead must be justified. Spawn when ALL of these hold:
39
-
40
- 1. **Orthogonal** -- the subtask is independent of the work you are
41
- doing right now; it does not need the live conversation context.
42
- (The child gets ONLY the `task` string you write -- be specific.)
43
- 2. **Parallelizable** -- it can run while you keep working, and you
44
- genuinely benefit from not blocking on it (e.g. a wide read /
45
- research / analysis sweep over a different subsystem).
46
- 3. **No write collision** -- it will not edit the same files you are
47
- editing. If both might write, scope them to different paths or do
48
- it yourself.
49
- 4. **Fits a budget** -- set `budget_tokens` to bound the spend.
50
-
51
- Do NOT spawn for:
52
-
53
- - Trivial tasks (a single read, a one-line answer) -- the overhead
54
- costs more than doing it inline.
55
- - Anything that needs the user's live judgement or the chat history.
56
- - Work you could do with one of your own verbs in this turn.
57
-
58
- Typical good uses: "map how subsystem X wires together and report the
59
- key files + entry points", "search the whole repo for every place
60
- pattern Y appears and summarise", "read these 8 docs and extract the
61
- constraints". Launch one per independent angle, then `collect`.
62
-
63
- ## The child's scope (enforced, not advisory)
64
-
65
- A sub-session runs with a RESTRICTED verb scope (enforced in
66
- `nac3_invoke` via `YF_AGENT_MODE`):
67
-
68
- - CAN: read / search / write files in its project root, run SAFE
69
- shell, query the graph / pendings / reader.
70
- - CANNOT: `git push` / `git commit`, destructive actions, `fs.move`,
71
- re-anchor the project, mutate the workflow / pending / keys, run
72
- lifecycle servers, or spawn its OWN sub-sessions (no grandchildren).
73
-
74
- So the child is a safe builder/analyst. Anything outward or
75
- irreversible stays with YOU, the parent, where the user can approve
76
- it. Have the child RETURN its deliverable; you surface it (pizarron,
77
- etc.) and you do the push/commit.
78
-
79
- ## Lifecycle
80
-
81
- Sub-sessions are one-shot: a child runs its task to completion (a
82
- `[SESSION_DONE]` marker), publishes its result, and exits. The full
83
- result is written to disk; the bridge signal carries a summary + the
84
- path. Always `collect` what you spawn -- do not leave results
85
- unread. If a child is no longer useful or is burning budget, `stop`
86
- it.
1
+ # Doctrine: session orchestration (yujin.session.*)
2
+
3
+ When it is optimal, you may launch other `yf chat` instances as
4
+ HEADLESS AGENT sub-sessions to do orthogonal, well-scoped work in
5
+ parallel with this conversation, and collect their results over the
6
+ coordination bridge. This is the `yujin.session.*` verb family.
7
+
8
+ This doctrine is about WHEN to spawn and how to keep it safe and
9
+ cheap. It is distinct from `agent-orchestrator` (product-side agents
10
+ the generated software dispatches on the user's machine).
11
+
12
+ ## Off by default
13
+
14
+ The whole capability is gated by `multiagent.enabled` in the limits
15
+ config (Ajustes > Limites), DEFAULT OFF. While off, the
16
+ `yujin.session.*` verbs are hidden from the manifest, this doctrine is
17
+ not injected, the system prompt tells you it is OFF, and the handlers
18
+ refuse. So you only see + use these verbs when the user has explicitly
19
+ turned multi-agent on. If the user asks for parallel sub-sessions while
20
+ it is off, tell them to enable it in Ajustes > Limites.
21
+
22
+ ## The verbs
23
+
24
+ - `yujin.session.spawn { task, project_root?, budget_tokens?, label?, model? }`
25
+ -- launch a sub-session for one self-contained task. Returns a
26
+ handle immediately (NON-blocking). The user approves each spawn
27
+ (it spends BYOK tokens autonomously).
28
+ `model` PINS the child brain as "provider/model" (PND-263). Without
29
+ it the child inherits the global `brain_config`, so its brain comes
30
+ out by OMISSION -- which is wrong whenever the brain is part of the
31
+ point. Measured in the Urazuke A/B experiment: the step-13 audit done
32
+ by the inherited non-frontier brain wrote FOUR of the nine findings it
33
+ announced, with a false P0; the same audit over the same commit with a
34
+ frontier brain wrote SEVENTEEN, all seventeen verified. The step asks
35
+ for a second opinion, and an inherited brain turns it into a
36
+ formality. Two rules on the pin, both deliberate: the slash is
37
+ REQUIRED (Forge never guesses the provider from the model name), and
38
+ an unknown provider -- or one whose key is not in the vault -- is
39
+ REFUSED at the door instead of silently falling back to another. A pin
40
+ also overrides the eco/frontier classifier and the escalation: it is a
41
+ request, not a preference.
42
+ - `yujin.session.collect { handle?, wait_ms? }` -- read the results
43
+ sub-sessions have published. `wait_ms` blocks up to that long for
44
+ at least one result; default 0 = return whatever has arrived.
45
+ - `yujin.session.list` -- what you have spawned, with TWO facts that are
46
+ not the same one (PND-256): `alive` is whether the process exists
47
+ (asked of the OS), and `registered` is whether the child already
48
+ published itself on the coordination bridge. A child can be alive and
49
+ not yet registered (booting), and a dead child can linger in the
50
+ roster. Reading one as the other costs either a needless relaunch or
51
+ an endless wait.
52
+ - `yujin.session.stop { handle }` -- terminate one.
53
+
54
+ ## Spawn ONLY when it pays off
55
+
56
+ A sub-session boots a whole headless server and spends tokens, so the
57
+ overhead must be justified. Spawn when ALL of these hold:
58
+
59
+ 1. **Orthogonal** -- the subtask is independent of the work you are
60
+ doing right now; it does not need the live conversation context.
61
+ (The child gets ONLY the `task` string you write -- be specific.)
62
+ 2. **Parallelizable** -- it can run while you keep working, and you
63
+ genuinely benefit from not blocking on it (e.g. a wide read /
64
+ research / analysis sweep over a different subsystem).
65
+ 3. **No write collision** -- it will not edit the same files you are
66
+ editing. If both might write, scope them to different paths or do
67
+ it yourself.
68
+ 4. **Fits a budget** -- set `budget_tokens` to bound the spend.
69
+ 5. **Brain chosen, not inherited** -- when the brain matters (an AUDIT
70
+ by another session, a review, a second opinion), pass `model`. An
71
+ auditor that comes out by omission satisfies the form of the step and
72
+ loses its point.
73
+
74
+ Do NOT spawn for:
75
+
76
+ - Trivial tasks (a single read, a one-line answer) -- the overhead
77
+ costs more than doing it inline.
78
+ - Anything that needs the user's live judgement or the chat history.
79
+ - Work you could do with one of your own verbs in this turn.
80
+
81
+ Typical good uses: "map how subsystem X wires together and report the
82
+ key files + entry points", "search the whole repo for every place
83
+ pattern Y appears and summarise", "read these 8 docs and extract the
84
+ constraints". Launch one per independent angle, then `collect`.
85
+
86
+ ## The child's scope (enforced, not advisory)
87
+
88
+ A sub-session runs with a RESTRICTED verb scope (enforced in
89
+ `nac3_invoke` via `YF_AGENT_MODE`):
90
+
91
+ - CAN: read / search / write files in its project root, run SAFE
92
+ shell, query the graph / pendings / reader.
93
+ - CANNOT: `git push` / `git commit`, destructive actions, `fs.move`,
94
+ re-anchor the project, mutate the workflow / pending / keys, run
95
+ lifecycle servers, or spawn its OWN sub-sessions (no grandchildren).
96
+
97
+ So the child is a safe builder/analyst. Anything outward or
98
+ irreversible stays with YOU, the parent, where the user can approve
99
+ it. Have the child RETURN its deliverable; you surface it (pizarron,
100
+ etc.) and you do the push/commit.
101
+
102
+ ## Lifecycle
103
+
104
+ Sub-sessions are one-shot: a child runs its task to completion (a
105
+ `[SESSION_DONE]` marker), publishes its result, and exits. The full
106
+ result is written to disk; the bridge signal carries a summary + the
107
+ path. Always `collect` what you spawn -- do not leave results
108
+ unread. If a child is no longer useful or is burning budget, `stop`
109
+ it.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nac3/forge-cli",
3
- "version": "1.24.1",
3
+ "version": "1.26.0",
4
4
  "description": "Yujin Forge -- voice-first NAC-3 React development framework. CLI + chat panel + spec ingest + 10-format document reader + voice loop.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Pablo Kuschnirof <pablo@rpaforce.com>",