@nac3/forge-cli 1.21.3 → 1.21.4

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 (52) hide show
  1. package/dist/chat/panel.d.ts.map +1 -1
  2. package/dist/chat/panel.js +6 -1
  3. package/dist/chat/panel.js.map +1 -1
  4. package/dist/chat/tools/pending.d.ts.map +1 -1
  5. package/dist/chat/tools/pending.js +8 -2
  6. package/dist/chat/tools/pending.js.map +1 -1
  7. package/dist/chat/tools/urazuke.d.ts.map +1 -1
  8. package/dist/chat/tools/urazuke.js +7 -3
  9. package/dist/chat/tools/urazuke.js.map +1 -1
  10. package/dist/commands/pending.d.ts.map +1 -1
  11. package/dist/commands/pending.js +4 -2
  12. package/dist/commands/pending.js.map +1 -1
  13. package/dist/commands/urazuke.d.ts.map +1 -1
  14. package/dist/commands/urazuke.js +138 -10
  15. package/dist/commands/urazuke.js.map +1 -1
  16. package/dist/core/whats_new.d.ts.map +1 -1
  17. package/dist/core/whats_new.js +12 -0
  18. package/dist/core/whats_new.js.map +1 -1
  19. package/dist/urazuke/current.d.ts +2 -2
  20. package/dist/urazuke/current.d.ts.map +1 -1
  21. package/dist/urazuke/current.js +32 -12
  22. package/dist/urazuke/current.js.map +1 -1
  23. package/dist/urazuke/gate.d.ts +45 -7
  24. package/dist/urazuke/gate.d.ts.map +1 -1
  25. package/dist/urazuke/gate.js +93 -15
  26. package/dist/urazuke/gate.js.map +1 -1
  27. package/dist/urazuke/gates_data.d.ts +163 -0
  28. package/dist/urazuke/gates_data.d.ts.map +1 -1
  29. package/dist/urazuke/gates_data.js +73 -2
  30. package/dist/urazuke/gates_data.js.map +1 -1
  31. package/dist/urazuke/gates_ledger.d.ts +75 -0
  32. package/dist/urazuke/gates_ledger.d.ts.map +1 -0
  33. package/dist/urazuke/gates_ledger.js +183 -0
  34. package/dist/urazuke/gates_ledger.js.map +1 -0
  35. package/dist/urazuke/gates_pull.d.ts +97 -0
  36. package/dist/urazuke/gates_pull.d.ts.map +1 -0
  37. package/dist/urazuke/gates_pull.js +303 -0
  38. package/dist/urazuke/gates_pull.js.map +1 -0
  39. package/dist/urazuke/retro.d.ts.map +1 -1
  40. package/dist/urazuke/retro.js +4 -1
  41. package/dist/urazuke/retro.js.map +1 -1
  42. package/dist/urazuke/section.d.ts +2 -2
  43. package/dist/urazuke/section.d.ts.map +1 -1
  44. package/dist/urazuke/section.js +31 -6
  45. package/dist/urazuke/section.js.map +1 -1
  46. package/dist/version.d.ts +1 -1
  47. package/dist/version.js +1 -1
  48. package/dist/workflow/orchestrator.d.ts +5 -0
  49. package/dist/workflow/orchestrator.d.ts.map +1 -1
  50. package/dist/workflow/orchestrator.js +17 -16
  51. package/dist/workflow/orchestrator.js.map +1 -1
  52. package/package.json +1 -1
@@ -0,0 +1,303 @@
1
+ /**
2
+ * BRINGING THE PUBLISHED DEFINITION -- the explicit act, with its number
3
+ * (PND-210, the double lock of PND-165 Pieza 4).
4
+ *
5
+ * `fetchPublishedGates` has been able to download, validate and recompute
6
+ * the seal since 2026-10-23, and until today nothing called it. That is the
7
+ * defect this module closes: a reader with no caller is a capability on
8
+ * paper, and meanwhile every project was measured by the catalogue compiled
9
+ * into Forge while `yf urazuke gates show` reported the frozen one.
10
+ *
11
+ * Two operations, and the asymmetry between them is the point:
12
+ *
13
+ * previewPublishedGates READ ONLY. Downloads, verifies the seal, contrasts
14
+ * the version against the append-only ledger, and
15
+ * MEASURES the cost: which steps that are green
16
+ * today would stop being green, and which required
17
+ * evaluators this installation cannot measure. It
18
+ * measures by evaluating both definitions over the
19
+ * real project; it does not estimate.
20
+ *
21
+ * adoptPublishedGates WRITES the freeze, and only with the owner's
22
+ * written reason. The reason is the second half of
23
+ * the double lock: a project starts and finishes on
24
+ * the same version of the method, so replacing that
25
+ * version is a decision with an author, not a
26
+ * refresh. A copy whose hash the ledger records
27
+ * with another value is NEVER adopted, reason or no
28
+ * reason -- it is not what the method published.
29
+ *
30
+ * Why adopting today is reported as not adoptable: the published catalogue
31
+ * declares twelve evaluators, this Forge implements eight, and the four
32
+ * missing ones are REQUIRED on the five anchors of the construction loop
33
+ * (steps 5, 8, 9, 10, 12). Adopting it before those exist freezes five
34
+ * permanently unmeasurable steps into the project -- correct by the
35
+ * compatibility clause, useless in practice. The preview says so with the
36
+ * numbers instead of refusing silently, and the owner can still press
37
+ * through with a written reason.
38
+ *
39
+ * ASCII-only.
40
+ */
41
+ import fs from 'node:fs/promises';
42
+ import { fetchPublishedGates, publishedToResolved, resolveGates, writeFrozenGates, readFrozenGates, frozenGatesPath, verifyContentHash, } from './gates_data.js';
43
+ import { verifyAgainstLedger } from './gates_ledger.js';
44
+ import { evaluateLadder, implementsEvaluator, KNOWN_EVALUATORS, } from './gate.js';
45
+ function unmeasurableOf(steps, required) {
46
+ const out = [];
47
+ for (const s of steps) {
48
+ const names = s.evaluators
49
+ .filter((e) => e.required === required && !implementsEvaluator(e.name))
50
+ .map((e) => e.name);
51
+ if (names.length)
52
+ out.push({ step: s.num, id: s.id, title: s.title, evaluators: names });
53
+ }
54
+ return out;
55
+ }
56
+ /** The requirement-bearing key of one artifact rule: the path AND what the
57
+ * file has to say. Prose (label) is out: a wording fix is not a change of
58
+ * rule (D-051). */
59
+ function requirementKey(a) {
60
+ return a.path + '|' + (a.must_contain ? [...a.must_contain].join(',') : '');
61
+ }
62
+ function requirementKeys(g) {
63
+ const m = new Map();
64
+ for (const s of g.steps)
65
+ m.set(s.num, new Set(s.artifacts.map(requirementKey)));
66
+ return m;
67
+ }
68
+ /** What it would cost to adopt the published definition. Reads only. */
69
+ export async function previewPublishedGates(projectRoot, opts = {}) {
70
+ const current = await resolveGates(projectRoot);
71
+ const base = {
72
+ ok: false,
73
+ problems: [],
74
+ from: {
75
+ source: current.source,
76
+ version: current.version,
77
+ hash: current.hash,
78
+ method_declared: current.method_identity.declared,
79
+ },
80
+ unmeasurable_required: [],
81
+ unmeasurable_warning: [],
82
+ new_requirements: [],
83
+ would_turn: [],
84
+ adoptable: false,
85
+ why_not: [],
86
+ };
87
+ const v = await fetchPublishedGates({
88
+ ...(opts.fetchImpl ? { fetchImpl: opts.fetchImpl } : {}),
89
+ ...(opts.url ? { url: opts.url } : {}),
90
+ ...(opts.timeout_ms != null ? { timeout_ms: opts.timeout_ms } : {}),
91
+ });
92
+ if (!v.ok || !v.file || !v.hash) {
93
+ return { ...base, problems: v.problems, why_not: ['la definicion publicada no se pudo validar'] };
94
+ }
95
+ const file = v.file;
96
+ const candidate = publishedToResolved(file, 'portal', v.hash.recomputed);
97
+ const ledger = opts.skip_ledger ? undefined : await verifyAgainstLedger(file, {
98
+ ...(opts.fetchImpl ? { fetchImpl: opts.fetchImpl } : {}),
99
+ ...(opts.timeout_ms != null ? { timeout_ms: opts.timeout_ms } : {}),
100
+ });
101
+ const unmeasurable_required = unmeasurableOf(candidate.steps, true);
102
+ const unmeasurable_warning = unmeasurableOf(candidate.steps, false);
103
+ const before = requirementKeys(current);
104
+ const new_requirements = [];
105
+ for (const s of candidate.steps) {
106
+ const had = before.get(s.num) ?? new Set();
107
+ for (const a of s.artifacts) {
108
+ if (had.has(requirementKey(a)))
109
+ continue;
110
+ new_requirements.push({
111
+ step: s.num, path: a.path,
112
+ ...(a.must_contain?.length ? { must_contain: [...a.must_contain] } : {}),
113
+ });
114
+ }
115
+ }
116
+ /* The number, measured: evaluate the ladder twice over the same project,
117
+ * once with each definition. No estimating what can be run. */
118
+ const probes = opts.probes;
119
+ const nowLadder = await evaluateLadder({ projectRoot, ...(probes ? { probes } : {}), gates: current });
120
+ const thenLadder = await evaluateLadder({ projectRoot, ...(probes ? { probes } : {}), gates: candidate });
121
+ const byNum = new Map(nowLadder.map((r) => [r.num, r]));
122
+ const would_turn = [];
123
+ for (const after of thenLadder) {
124
+ const now = byNum.get(after.num);
125
+ if (!now)
126
+ continue;
127
+ if (now.status !== after.status) {
128
+ would_turn.push({ num: after.num, title: after.title, before: now.status, after: after.status });
129
+ }
130
+ }
131
+ const why_not = [];
132
+ if (unmeasurable_required.length) {
133
+ why_not.push(unmeasurable_required.length + ' peldano(s) quedarian con un evaluador requerido que esta'
134
+ + ' instalacion no sabe medir (' + [...new Set(unmeasurable_required.flatMap((u) => u.evaluators))].join(', ')
135
+ + '): declarados y no medidos, el peldano no avanza. Implementados hoy: ' + KNOWN_EVALUATORS.join(', ') + '.');
136
+ }
137
+ if (ledger && ledger.status === 'mismatch') {
138
+ why_not.push('el registro de versiones anota otra huella para ' + ledger.catalog_version
139
+ + ': lo que bajo no es lo que el metodo publico con ese numero.');
140
+ }
141
+ if (ledger && ledger.status === 'could_not_verify') {
142
+ why_not.push('no pude contrastar la version contra el registro append-only: ' + ledger.detail);
143
+ }
144
+ if (ledger && ledger.status === 'absent') {
145
+ why_not.push('el registro de versiones no anota ' + ledger.catalog_version + '.');
146
+ }
147
+ return {
148
+ ...base,
149
+ ok: true,
150
+ to: { version: candidate.version, hash: candidate.hash, schema_version: candidate.schema_version },
151
+ ...(ledger ? { ledger } : {}),
152
+ unmeasurable_required,
153
+ unmeasurable_warning,
154
+ new_requirements,
155
+ would_turn,
156
+ adoptable: why_not.length === 0,
157
+ why_not,
158
+ };
159
+ }
160
+ const MIN_REASON = 15;
161
+ /** Adopt the published definition into the project freeze. The double lock:
162
+ * a validated file, a ledger that does not contradict it, and the owner's
163
+ * written reason. */
164
+ export async function adoptPublishedGates(projectRoot, opts) {
165
+ const out = { written: false, problems: [], path: frozenGatesPath(projectRoot) };
166
+ const reason = (opts.reason ?? '').trim();
167
+ if (reason.length < MIN_REASON) {
168
+ out.problems.push('falta la razon escrita del dueno (minimo ' + MIN_REASON + ' caracteres).'
169
+ + ' Un proyecto arranca y termina con la misma version del metodo: cambiarla es una decision'
170
+ + ' con autor, y queda escrita en el congelado.');
171
+ return out;
172
+ }
173
+ const existing = await readFrozenGates(projectRoot);
174
+ if ((existing.gates || existing.refused?.length) && !opts.replace) {
175
+ out.problems.push('este proyecto ya tiene una version congelada'
176
+ + (existing.gates ? ' (' + existing.gates.version + ')' : ' que NO verifica')
177
+ + ' y no la piso sin que me lo pidas expresamente.');
178
+ return out;
179
+ }
180
+ const preview = await previewPublishedGates(projectRoot, opts);
181
+ out.preview = preview;
182
+ if (!preview.ok || !preview.to) {
183
+ out.problems.push(...preview.problems);
184
+ return out;
185
+ }
186
+ if (preview.ledger?.status === 'mismatch') {
187
+ out.problems.push('no adopto una copia que el registro de versiones contradice: ' + preview.ledger.detail);
188
+ return out;
189
+ }
190
+ const v = await fetchPublishedGates({
191
+ ...(opts.fetchImpl ? { fetchImpl: opts.fetchImpl } : {}),
192
+ ...(opts.url ? { url: opts.url } : {}),
193
+ ...(opts.timeout_ms != null ? { timeout_ms: opts.timeout_ms } : {}),
194
+ });
195
+ if (!v.ok || !v.file || !v.hash) {
196
+ out.problems.push(...v.problems);
197
+ return out;
198
+ }
199
+ /* The file is written VERBATIM: its seal is the method's hash over the
200
+ * method's covered keys, and re-serialising the payload would be the one
201
+ * way to turn a verified copy into an unverifiable one. The provenance of
202
+ * the freeze goes in keys the seal excludes -- they are not protected, and
203
+ * they do not need to be: what IS protected is the pair version + hash,
204
+ * and that is what the ledger audits. */
205
+ const file = v.file;
206
+ file['frozen_at'] = new Date().toISOString();
207
+ file['frozen_from'] = 'portal';
208
+ file['frozen_reason'] = reason;
209
+ if (preview.ledger) {
210
+ file['frozen_ledger'] = {
211
+ status: preview.ledger.status,
212
+ ledger_url: preview.ledger.ledger_url,
213
+ expected: preview.ledger.expected ?? null,
214
+ checked_at: new Date().toISOString(),
215
+ };
216
+ }
217
+ file['method_identity'] = {
218
+ declared: true,
219
+ catalog_version: v.file.catalog_version,
220
+ content_hash: v.hash.recomputed,
221
+ ...(preview.ledger ? { why: 'contrastada contra el registro de versiones: ' + preview.ledger.status } : {}),
222
+ };
223
+ for (const k of ['frozen_at', 'frozen_from', 'frozen_reason', 'frozen_ledger', 'method_identity']) {
224
+ if (!file.content_hash.covers.includes(k) && !file.content_hash.excludes.includes(k)) {
225
+ file.content_hash.excludes.push(k);
226
+ }
227
+ }
228
+ /* Last gate before writing: the copy about to be frozen has to verify by
229
+ * the same path that will read it back. */
230
+ const check = verifyContentHash(file);
231
+ if (!check.ok) {
232
+ out.problems.push('la copia que iba a congelar no verifica por el mismo camino que la lee:'
233
+ + ' declarada ' + check.declared.slice(0, 16) + ', recalculada ' + check.recomputed.slice(0, 16)
234
+ + (check.uncovered.length ? ', claves sin proteger ni excluir: ' + check.uncovered.join(', ') : ''));
235
+ return out;
236
+ }
237
+ await writeFrozenGates(projectRoot, file);
238
+ out.written = true;
239
+ out.version = v.file.catalog_version;
240
+ return out;
241
+ }
242
+ /** The preview as lines for the CLI and the panel. */
243
+ export function renderPullPreview(p) {
244
+ const lines = [];
245
+ if (!p.ok) {
246
+ lines.push('no pude traer la definicion publicada: ' + p.problems.join('; '));
247
+ return lines;
248
+ }
249
+ lines.push('en vigor: ' + p.from.version + ' [' + p.from.source + '] hash ' + p.from.hash.slice(0, 12)
250
+ + (p.from.method_declared ? '' : ' -- NO declara una version del metodo'));
251
+ lines.push('publicada: ' + p.to.version + ' schema ' + p.to.schema_version + ' hash ' + p.to.hash.slice(0, 12));
252
+ if (p.ledger)
253
+ lines.push('registro de versiones: ' + p.ledger.status + ' -- ' + p.ledger.detail);
254
+ else
255
+ lines.push('registro de versiones: no consultado (--skip-ledger)');
256
+ for (const u of p.unmeasurable_required) {
257
+ lines.push('peldano ' + u.step + ' ' + u.title + ': requiere ' + u.evaluators.join(', ')
258
+ + ' -- declarado y NO medido por esta instalacion');
259
+ }
260
+ if (p.new_requirements.length) {
261
+ lines.push('artefactos nuevos: ' + p.new_requirements.length + ' ('
262
+ + p.new_requirements.slice(0, 6).map((r) => r.step + ':' + r.path).join(', ')
263
+ + (p.new_requirements.length > 6 ? ', ...' : '') + ')');
264
+ }
265
+ lines.push(p.would_turn.length
266
+ ? 'cambiarian de estado ' + p.would_turn.length + ' peldano(s): '
267
+ + p.would_turn.map((w) => w.num + ' ' + w.before + '->' + w.after).join(', ')
268
+ : 'ningun peldano cambia de estado hoy (medido sobre este proyecto)');
269
+ lines.push(p.adoptable
270
+ ? 'adoptable: si -- yf urazuke gates adopt --reason "..."'
271
+ : 'adoptable: NO -- ' + p.why_not.join(' | '));
272
+ return lines;
273
+ }
274
+ /** Does the project have a freeze on disk at all? Used by the CLI to tell
275
+ * "no freeze" apart from "a freeze that does not verify". */
276
+ export async function frozenExists(projectRoot) {
277
+ try {
278
+ await fs.stat(frozenGatesPath(projectRoot));
279
+ return true;
280
+ }
281
+ catch {
282
+ return false;
283
+ }
284
+ }
285
+ /** The frozen copy as the PAYLOAD on disk, for an audit that needs the file
286
+ * and not the resolved shape (the ledger contrast recomputes the hash over
287
+ * the covered keys, so it needs them verbatim).
288
+ *
289
+ * Returned even when the seal does not recompute: in that case the ledger
290
+ * contrast is exactly what the owner needs to see, and refusing to hand the
291
+ * payload over would hide it. */
292
+ export async function readFrozenRaw(projectRoot) {
293
+ try {
294
+ const raw = JSON.parse(await fs.readFile(frozenGatesPath(projectRoot), 'utf8'));
295
+ if (typeof raw?.catalog_version !== 'string' || !Array.isArray(raw?.content_hash?.covers))
296
+ return undefined;
297
+ return raw;
298
+ }
299
+ catch {
300
+ return undefined;
301
+ }
302
+ }
303
+ //# sourceMappingURL=gates_pull.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gates_pull.js","sourceRoot":"","sources":["../../src/urazuke/gates_pull.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"retro.d.ts","sourceRoot":"","sources":["../../src/urazuke/retro.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;IACrL,QAAQ,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACpM,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpG,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAwDlJ;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAiDnE;AAED,8DAA8D;AAC9D,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CAS9K;AAED;mDACmD;AACnD,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAczE"}
1
+ {"version":3,"file":"retro.d.ts","sourceRoot":"","sources":["../../src/urazuke/retro.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;IACrL,QAAQ,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACpM,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpG,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CA2DlJ;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAiDnE;AAED,8DAA8D;AAC9D,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CAS9K;AAED;mDACmD;AACnD,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAczE"}
@@ -47,7 +47,10 @@ export async function buildRetroNumbers(slug, projectRoot, opts = {}) {
47
47
  * verdict forever, immune to a later parseCounts fix. */
48
48
  const s = summarizeReceipts(rc);
49
49
  const ladder = await urazukeLadder(slug, projectRoot);
50
- const l = { closed: 0, green: 0, red: 0, owner: 0, total: ladder.rows.length, ...(ladder.kind ? { kind: ladder.kind } : {}) };
50
+ const l = {
51
+ closed: 0, green: 0, red: 0, owner: 0, unmeasured: 0,
52
+ total: ladder.rows.length, ...(ladder.kind ? { kind: ladder.kind } : {}),
53
+ };
51
54
  for (const r of ladder.rows)
52
55
  l[r.status] += 1;
53
56
  const docs = await fs.readdir(path.join(projectRoot, 'docs')).catch(() => []);
@@ -1 +1 @@
1
- {"version":3,"file":"retro.js","sourceRoot":"","sources":["../../src/urazuke/retro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retro.js","sourceRoot":"","sources":["../../src/urazuke/retro.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  * ASCII-only.
17
17
  */
18
18
  import type { UrazukeStep, UrazukeStation } from './catalog.js';
19
- import type { UrazukeStepResult } from './gate.js';
19
+ import type { UrazukeStepResult, UrazukeStepStatus } from './gate.js';
20
20
  export interface UrazukeSectionInput {
21
21
  /** Workflow code + the task id of the current step. */
22
22
  code: string;
@@ -37,7 +37,7 @@ export declare function renderUrazukeSection(input: UrazukeSectionInput): string
37
37
  export declare function renderLadderStatusLines(rows: Array<{
38
38
  num: string;
39
39
  title: string;
40
- status: 'green' | 'red' | 'owner' | 'closed';
40
+ status: UrazukeStepStatus | 'closed';
41
41
  task_id?: string;
42
42
  }>): string[];
43
43
  //# sourceMappingURL=section.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../src/urazuke/section.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,WAAW,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,2DAA2D;IAC3D,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAsDvE;AAED,mDAAmD;AACnD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,EAAE,CAK7J"}
1
+ {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../src/urazuke/section.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAgB,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEpF,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,2DAA2D;IAC3D,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAeD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAgEvE;AAED,mDAAmD;AACnD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,iBAAiB,GAAG,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,EAAE,CAYrJ"}
@@ -1,5 +1,13 @@
1
1
  function mark(c) {
2
- return c.status === 'ok' ? '[x]' : c.status === 'fail' ? '[ ]' : '[~]';
2
+ return c.status === 'ok' ? '[x]'
3
+ : c.status === 'fail' ? '[ ]'
4
+ : c.status === 'unknown' ? '[?]' : '[~]';
5
+ }
6
+ /** A check's detail is shown when it failed AND when nobody could measure
7
+ * it: "[?] evaluador heuristics (requerido)" with no reason beside it is
8
+ * the brain being told to guess. */
9
+ function detailOf(c) {
10
+ return c.status === 'fail' || c.status === 'unknown' ? ' -- ' + c.detail : '';
3
11
  }
4
12
  export function renderUrazukeSection(input) {
5
13
  const r = input.result;
@@ -12,21 +20,31 @@ export function renderUrazukeSection(input) {
12
20
  '(' + input.code + ', tarea ' + input.task_id + ', ' + input.remaining + ' de ' + input.total + ' tareas abiertas) -- doctrine: urazuke\n' +
13
21
  '=================================================================';
14
22
  const lines = [];
15
- const state = r.status === 'green' ? 'VERDE' : r.status === 'red' ? 'ROJO' : 'A CARGO DEL DUENO';
23
+ const state = r.status === 'green' ? 'VERDE'
24
+ : r.status === 'red' ? 'ROJO'
25
+ : r.status === 'unmeasured' ? 'DECLARADO, NO MEDIDO POR ESTA INSTALACION'
26
+ : 'A CARGO DEL DUENO';
16
27
  lines.push('estado mecanico: ' + state + (r.status === 'green'
17
28
  ? ' -- the artifacts exist; close ' + input.task_id + ' with yujin.pending.close (expediente + evidence) and move on.'
18
29
  : r.status === 'red'
19
30
  ? ' -- it does NOT close until every check below is [x]. Do not claim it done.'
20
- : ' -- nothing mechanical to check; the owner verifies with the checklist.'));
31
+ : r.status === 'unmeasured'
32
+ /* The compatibility clause of the method, where the brain reads it:
33
+ * the step does not advance, it is not green, and the closest
34
+ * evaluator is not an acceptable substitute. */
35
+ ? ' -- the definition in force requires an evaluator this installation cannot measure (marked [?] below).'
36
+ + ' It does NOT close and it is NOT green: say which evaluator is missing, do not approximate it with the'
37
+ + ' closest one, and do not claim the step done.'
38
+ : ' -- nothing mechanical to check; the owner verifies with the checklist.'));
21
39
  if (r.inputs.length) {
22
40
  lines.push('antes de enviar (lo que el DUENO tiene que tener hecho; si falta, pedilo, no lo inventes):');
23
41
  for (const c of r.inputs)
24
- lines.push(' ' + mark(c) + ' ' + c.label + (c.status === 'fail' ? ' -- ' + c.detail : ''));
42
+ lines.push(' ' + mark(c) + ' ' + c.label + detailOf(c));
25
43
  }
26
44
  if (r.checks.length) {
27
45
  lines.push('lo que este peldano deja (lo verifica Forge, no tu palabra):');
28
46
  for (const c of r.checks)
29
- lines.push(' ' + mark(c) + ' ' + c.label + (c.status === 'fail' ? ' -- ' + c.detail : ''));
47
+ lines.push(' ' + mark(c) + ' ' + c.label + detailOf(c));
30
48
  }
31
49
  lines.push('primer reporte de este peldano: abrilo con UNA linea que cite lo que la consigna pide (sus prerrequisitos o artefactos), y recien despues lo que hiciste.');
32
50
  const promptBlock = [];
@@ -58,7 +76,14 @@ export function renderUrazukeSection(input) {
58
76
  /** One line per task for the status verb / CLI. */
59
77
  export function renderLadderStatusLines(rows) {
60
78
  return rows.map((r) => {
61
- const m = r.status === 'closed' ? '[x]' : r.status === 'green' ? '[v]' : r.status === 'red' ? '[ ]' : '[~]';
79
+ /* `[?]` is its own mark on purpose: an unmeasured step used to come out
80
+ * as `[~]`, the same as one the owner has to sign, and the difference
81
+ * between "nobody measured this" and "you sign this" is the whole
82
+ * point (PND-210). */
83
+ const m = r.status === 'closed' ? '[x]'
84
+ : r.status === 'green' ? '[v]'
85
+ : r.status === 'red' ? '[ ]'
86
+ : r.status === 'unmeasured' ? '[?]' : '[~]';
62
87
  return m + ' ' + r.num + ' ' + r.title + (r.task_id ? ' (' + r.task_id + ')' : '');
63
88
  });
64
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"section.js","sourceRoot":"","sources":["../../src/urazuke/section.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"section.js","sourceRoot":"","sources":["../../src/urazuke/section.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.21.3";
5
+ export declare const VERSION = "1.21.4";
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.21.3';
5
+ export const VERSION = '1.21.4';
6
6
  //# sourceMappingURL=version.js.map
@@ -102,10 +102,15 @@ export interface OrderGateResult {
102
102
  };
103
103
  /** Urazuke: when !ok because the step's mechanical evaluation is RED,
104
104
  * the step and its failing checks. */
105
+ /** The canonical step that blocks the close. `status` matters: a RED step
106
+ * was measured and found wanting; an UNMEASURED one carries an evaluator
107
+ * this installation cannot measure (PND-210). Calling the second one red
108
+ * would be the same claim the method forbids. */
105
109
  red_step?: {
106
110
  num: number;
107
111
  title: string;
108
112
  failing: string[];
113
+ status: 'red' | 'unmeasured';
109
114
  };
110
115
  }
111
116
  /** Mandatory ordering gate: a task may not close while an EARLIER-order
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/workflow/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/workflow/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -251,28 +251,29 @@ export async function canCloseTask(slug, id, opts = {}) {
251
251
  return { ok: true };
252
252
  }
253
253
  async function urazukeRedStep(slug, projectRoot, link) {
254
- const { urazukeStep, urazukeStation } = await import('../urazuke/catalog.js');
255
- const { evaluateStep, evaluateStation } = await import('../urazuke/gate.js');
254
+ /* The definition IN FORCE decides, not the catalogue compiled into this
255
+ * Forge: a project that froze a version is closed against that version
256
+ * (PND-210). */
257
+ const { evaluateStepInForce, evaluateStationInForce } = await import('../urazuke/gate.js');
256
258
  const { realProbes } = await import('../urazuke/probes.js');
257
259
  const probes = realProbes(slug);
258
260
  let r;
259
- if (link.step != null) {
260
- const def = urazukeStep(link.step);
261
- if (!def)
262
- return undefined;
263
- r = await evaluateStep(def, { projectRoot, probes });
264
- }
265
- else if (link.station != null) {
266
- const def = urazukeStation(link.station);
267
- if (!def)
268
- return undefined;
269
- r = await evaluateStation(def, { projectRoot, probes });
270
- }
261
+ if (link.step != null)
262
+ r = await evaluateStepInForce(link.step, { projectRoot, probes });
263
+ else if (link.station != null)
264
+ r = await evaluateStationInForce(link.station, { projectRoot, probes });
271
265
  else
272
266
  return undefined;
273
- if (r.status !== 'red')
267
+ if (!r)
268
+ return undefined;
269
+ if (r.status !== 'red' && r.status !== 'unmeasured')
274
270
  return undefined;
275
- return { num: r.num, title: r.title, failing: r.checks.filter((c) => c.status === 'fail').map((c) => c.label + ': ' + c.detail) };
271
+ return {
272
+ num: r.num, title: r.title, status: r.status,
273
+ failing: r.checks
274
+ .filter((c) => c.status === 'fail' || c.status === 'unknown')
275
+ .map((c) => c.label + ': ' + c.detail),
276
+ };
276
277
  }
277
278
  /** After a task closes: if every task of its workflow is now closed,
278
279
  * auto-close the instance. Returns the closed instance when it closed. */