@bluewombat/implementer 0.7.0 → 0.8.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/SPECS.md CHANGED
@@ -176,10 +176,13 @@ inherits the environment).
176
176
  | `--definition-of-done` | The `--definition-of-done` given to Implementer |
177
177
  | `--report` | Previous Attempt's failure report (JSON `report` from that child's stdout), or `--report` given to Implementer. **Omitted** when neither exists. |
178
178
  | `--report-from` | Present when a Gate produced that report. |
179
+ | `--history` | Present from the second Attempt on: what the Task went through before this one, oldest first (§ History). |
179
180
  | `--context` | Present when `--context` was given to Implementer. |
180
181
 
181
182
  Exit 0: the Builder finished its pass. Implementer does not inspect the
182
- workspace.
183
+ workspace. Its stdout may carry one JSON object `{ "said": "…" }`, the
184
+ producer's own last words; Implementer keeps it in the Attempt's trace
185
+ (`builder.result.said`) and in the History, and reads nothing else from it.
183
186
 
184
187
  | What happened | Attempt `ended` | `--report` on the next Builder, if any |
185
188
  | ----------------------------------------------------------------- | -------------------- | -------------------------------------- |
@@ -195,7 +198,26 @@ workspace.
195
198
  Exit 0 is completion; there is no `pass` object. Other fields are ignored.
196
199
 
197
200
  A Builder that cannot proceed returns `fail-blocking` with the reason in
198
- `report`.
201
+ `report`. That ends the Task as `escalated` without another Attempt: the reason
202
+ is what a person reads.
203
+
204
+ ### History
205
+
206
+ The report a Builder receives is the latest word only, and the latest word can be
207
+ a producer killed at its clock, which says nothing of why the Task is here. From
208
+ the second Attempt on, Implementer also passes `--history`: the refusal the Task
209
+ came with (`--report`, `--report-from`), then each Attempt in order. An Attempt
210
+ reads as how its producer ended (finished, failed, killed at its time limit,
211
+ could not start), what the producer said when it said anything, and each Gate's
212
+ verdict with the report of those that refused. What a killed producer wrote is
213
+ not repeated: it is noise, and the film of the run (Host's `observability.streams`)
214
+ keeps it.
215
+
216
+ The History is bounded (about 6 KiB; one report or answer at most 1.5 KiB). The
217
+ refusal the Task came with and the latest Attempt always stay; when the rest does
218
+ not fit, the oldest Attempts are left out and the History says how many. A Task
219
+ that has not been through an Attempt has no History, and the argument is
220
+ absent.
199
221
 
200
222
  ## 6. Gates
201
223
 
@@ -217,6 +239,7 @@ command. No `--report`: the Gate judges the workspace.
217
239
  | `--gate-id` | This Gate's `id` |
218
240
  | `--intention` | Same as the Builder |
219
241
  | `--definition-of-done` | Same as the Builder |
242
+ | `--timeout-ms` | The ceiling this Gate is killed at, in milliseconds. A Gate that waits on others (a CI) uses it to answer before the kill, because a kill reads as a refusal of the work |
220
243
  | `--stage` | `unit` or `assembly` (default `unit`) |
221
244
 
222
245
  Stdout: one JSON object.
@@ -387,5 +410,8 @@ No partial validation. Implementer never deletes `--workspace`.
387
410
  9. Entering the Builder on Attempt 1 of `--max-attempts 3` announces `label` `building:attempt-1:3` on stdout, and via `--on-status` when that argument is set.
388
411
  10. `--on-status` exiting non-zero does not change a `validated` run.
389
412
  11. A `--repair-builder` Attempt is judged by `--repair-gate`'s list, not `--gate`'s, in both directions: a `--gate` that always refuses does not stop a repair Attempt with no `--repair-gate` of its own, and a `--repair-gate` that always refuses does stop one even when `--gate` is empty.
413
+ 12. A Task that came with a refusal, whose first Attempt's producer is killed at its clock → the second Attempt's `--history` names that refusal and its refuser, and says the first producer was killed at its time limit without repeating what it wrote; `--report` is still the latest word.
414
+ 13. A producer that exits 0 with `{ "said": "…" }` and a Gate that refuses → the next Attempt's `--history` carries what it said and the Gate's verdict and report.
415
+ 14. A first Attempt carries no `--history`.
390
416
 
391
417
  How to build and run this Transformer: [README.md](./README.md).
@@ -7,5 +7,7 @@ export type GateVerdictJson = {
7
7
  report: string;
8
8
  };
9
9
  export declare function parseBuilderFailureJson(stdout: string): BuilderFailureJson | null;
10
+ /** A producer's own last words on exit 0, when it gives them: `{ "said": "…" }`. */
11
+ export declare function parseBuilderSaid(stdout: string): string | undefined;
10
12
  export declare function parseGateVerdictJson(stdout: string): GateVerdictJson | null;
11
13
  //# sourceMappingURL=parse-child-output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-child-output.d.ts","sourceRoot":"","sources":["../../src/child/parse-child-output.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,eAAe,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAwBF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAYjF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAW3E"}
1
+ {"version":3,"file":"parse-child-output.d.ts","sourceRoot":"","sources":["../../src/child/parse-child-output.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,eAAe,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAwBF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAYjF;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOnE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAW3E"}
@@ -34,6 +34,15 @@ export function parseBuilderFailureJson(stdout) {
34
34
  const report = typeof record.report === "string" ? record.report : "";
35
35
  return { outcome, report };
36
36
  }
37
+ /** A producer's own last words on exit 0, when it gives them: `{ "said": "…" }`. */
38
+ export function parseBuilderSaid(stdout) {
39
+ const value = firstJsonObject(stdout);
40
+ if (value === null || typeof value !== "object") {
41
+ return undefined;
42
+ }
43
+ const said = value.said;
44
+ return typeof said === "string" && said.trim().length > 0 ? said.trim() : undefined;
45
+ }
37
46
  export function parseGateVerdictJson(stdout) {
38
47
  const value = firstJsonObject(stdout);
39
48
  if (value === null || typeof value !== "object") {
@@ -1 +1 @@
1
- {"version":3,"file":"parse-child-output.js","sourceRoot":"","sources":["../../src/child/parse-child-output.ts"],"names":[],"mappings":"AAUA,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,4EAA4E;IAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACvE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAY,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,KAAK,gBAAgB,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,gBAAgB,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"parse-child-output.js","sourceRoot":"","sources":["../../src/child/parse-child-output.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ export declare function runBuilder(input: {
18
18
  previousReport: string | undefined;
19
19
  /** Which Gate refused, when one did. Absent when the producer itself failed. */
20
20
  previousRefusedBy: string | undefined;
21
+ /** Everything that happened before this Attempt, oldest first. Absent on a first Attempt. */
22
+ history: string | undefined;
21
23
  timeoutMs: number;
22
24
  shouldInterrupt: () => boolean;
23
25
  /** Whoever films this child's output. Absent: it is not filmed. */
@@ -1 +1 @@
1
- {"version":3,"file":"run-builder.d.ts","sourceRoot":"","sources":["../../src/child/run-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,gBAAgB,GAAG,eAAe,GAAG,aAAa,CAAC;CACnE,CAAC;AAEF,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,UAAU,EAAE,UAAU,CAAC;IACvB;;;;OAIG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,gFAAgF;IAChF,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,OAAO,CAAC;IAC/B,mEAAmE;IACnE,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACrC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmD5B"}
1
+ {"version":3,"file":"run-builder.d.ts","sourceRoot":"","sources":["../../src/child/run-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,gBAAgB,GAAG,eAAe,GAAG,aAAa,CAAC;CACnE,CAAC;AAEF,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,UAAU,EAAE,UAAU,CAAC;IACvB;;;;OAIG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,gFAAgF;IAChF,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,6FAA6F;IAC7F,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,OAAO,CAAC;IAC/B,mEAAmE;IACnE,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACrC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuD5B"}
@@ -1,7 +1,7 @@
1
- import { parseBuilderFailureJson } from "./parse-child-output.js";
1
+ import { parseBuilderFailureJson, parseBuilderSaid } from "./parse-child-output.js";
2
2
  import { combinedOutput, runChild } from "./run-child.js";
3
3
  export async function runBuilder(input) {
4
- const { invocation, producerArgv, attempt, previousReport, previousRefusedBy, timeoutMs, shouldInterrupt, } = input;
4
+ const { invocation, producerArgv, attempt, previousReport, previousRefusedBy, history, timeoutMs, shouldInterrupt, } = input;
5
5
  const argv = [
6
6
  ...producerArgv,
7
7
  "--id",
@@ -19,6 +19,9 @@ export async function runBuilder(input) {
19
19
  if (previousRefusedBy !== undefined) {
20
20
  argv.push("--report-from", previousRefusedBy);
21
21
  }
22
+ if (history !== undefined) {
23
+ argv.push("--history", history);
24
+ }
22
25
  if (invocation.context !== undefined) {
23
26
  argv.push("--context", invocation.context);
24
27
  }
@@ -72,8 +75,9 @@ function interpretBuilderOutcome(outcome, timeoutMs) {
72
75
  }
73
76
  // exited
74
77
  if (outcome.exitCode === 0) {
78
+ const said = parseBuilderSaid(outcome.stdout);
75
79
  return {
76
- result: { kind: "completed" },
80
+ result: said === undefined ? { kind: "completed" } : { kind: "completed", said },
77
81
  };
78
82
  }
79
83
  const failure = parseBuilderFailureJson(outcome.stdout);
@@ -1 +1 @@
1
- {"version":3,"file":"run-builder.js","sourceRoot":"","sources":["../../src/child/run-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-builder.js","sourceRoot":"","sources":["../../src/child/run-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-gate.d.ts","sourceRoot":"","sources":["../../src/child/run-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIvF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,cAAc,CAAC;IACtB,kEAAkE;IAClE,IAAI,CAAC,EAAE,gBAAgB,GAAG,eAAe,GAAG,aAAa,CAAC;CAC3D,CAAC;AAEF,wBAAsB,OAAO,CAAC,KAAK,EAAE;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,OAAO,CAAC;IAC/B,mEAAmE;IACnE,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACrC,GAAG,OAAO,CAAC,aAAa,CAAC,CAuCzB"}
1
+ {"version":3,"file":"run-gate.d.ts","sourceRoot":"","sources":["../../src/child/run-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIvF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,cAAc,CAAC;IACtB,kEAAkE;IAClE,IAAI,CAAC,EAAE,gBAAgB,GAAG,eAAe,GAAG,aAAa,CAAC;CAC3D,CAAC;AAEF,wBAAsB,OAAO,CAAC,KAAK,EAAE;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,OAAO,CAAC;IAC/B,mEAAmE;IACnE,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACrC,GAAG,OAAO,CAAC,aAAa,CAAC,CA2CzB"}
@@ -14,6 +14,10 @@ export async function runGate(input) {
14
14
  invocation.intention,
15
15
  "--definition-of-done",
16
16
  invocation.definitionOfDone,
17
+ // A Gate that waits on others needs to know when it will be killed, to say
18
+ // it did not get an answer instead of being cut off without a word.
19
+ "--timeout-ms",
20
+ String(timeoutMs),
17
21
  "--stage",
18
22
  invocation.stage ?? "unit",
19
23
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"run-gate.js","sourceRoot":"","sources":["../../src/child/run-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-gate.js","sourceRoot":"","sources":["../../src/child/run-gate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { Trace } from "../types.js";
2
+ /**
3
+ * Everything the Task went through before the next Attempt, oldest first: the
4
+ * refusal it started with, then each Attempt — how its producer ended, what it
5
+ * said, what each Gate answered.
6
+ *
7
+ * The report an Attempt receives is only the latest of it, and the latest can
8
+ * be a producer killed at its clock, which says nothing of why the Task is
9
+ * here. This is what puts the original refusal back in front of the one who has
10
+ * to act on it. Bounded: the refusal the Task came with always stays; when the
11
+ * rest does not fit, the oldest Attempts are the ones left out.
12
+ *
13
+ * Absent while there is nothing to add to the report: a first Attempt, or a
14
+ * Task that has not been through one yet.
15
+ */
16
+ export declare function buildHistory(input: {
17
+ report: string | undefined;
18
+ refusedBy: string | undefined;
19
+ traces: readonly Trace[];
20
+ }): string | undefined;
21
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/loop/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AA4EzC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;CAC1B,GAAG,MAAM,GAAG,SAAS,CA0BrB"}
@@ -0,0 +1,100 @@
1
+ /** What the history may weigh, whatever the Task has been through. */
2
+ const BUDGET = 6_000;
3
+ /** What one report or one answer may weigh inside it. */
4
+ const REPORT_CLIP = 1_500;
5
+ const SAID_CLIP = 800;
6
+ // biome-ignore lint/suspicious/noControlCharactersInRegex: strips terminal colour codes
7
+ const ANSI = /\x1b\[[0-9;?]*[A-Za-z]/g;
8
+ function clip(text, max) {
9
+ const clean = text.replace(ANSI, "").replace(/\r/g, "").trim();
10
+ return clean.length > max ? `${clean.slice(0, max).trimEnd()}…` : clean;
11
+ }
12
+ function indent(text) {
13
+ return text
14
+ .split("\n")
15
+ .map((line) => (line.length > 0 ? ` ${line}` : line))
16
+ .join("\n");
17
+ }
18
+ /** What the first Attempt was handed, when it was handed a refusal. */
19
+ function givenEntry(report, refusedBy) {
20
+ const who = refusedBy !== undefined && refusedBy.length > 0 ? refusedBy : "an outside judge";
21
+ return `Refused by ${who}, before this Task's first attempt:\n${indent(clip(report, REPORT_CLIP))}`;
22
+ }
23
+ function attemptEntry(trace) {
24
+ const { builder, gates } = trace;
25
+ const lines = [];
26
+ const result = builder.result;
27
+ const head = `Attempt ${trace.attempt} — `;
28
+ switch (result.kind) {
29
+ case "completed":
30
+ lines.push(`${head}the producer finished.`);
31
+ if (result.said !== undefined) {
32
+ lines.push(indent(`It said: ${clip(result.said, SAID_CLIP)}`));
33
+ }
34
+ break;
35
+ case "timed_out": {
36
+ // The tail of what a killed child wrote is noise here; the film of the run keeps it.
37
+ const ms = /^killed after (\d+)ms/.exec(result.detail ?? "");
38
+ lines.push(`${head}the producer was killed at its time limit${ms === null ? "" : ` (${ms[1]}ms)`}, and left no answer.`);
39
+ break;
40
+ }
41
+ case "failed":
42
+ lines.push(`${head}the producer failed (${result.outcome ?? "fail-retryable"}):\n${indent(clip(result.detail ?? "", SAID_CLIP))}`);
43
+ break;
44
+ case "refused":
45
+ lines.push(`${head}the producer could not be started:\n${indent(clip(result.detail ?? "", SAID_CLIP))}`);
46
+ break;
47
+ case "skipped":
48
+ lines.push(`${head}judged without a producer.`);
49
+ break;
50
+ case "interrupted":
51
+ lines.push(`${head}stopped by a signal.`);
52
+ break;
53
+ }
54
+ for (const gate of gates) {
55
+ lines.push(gate.verdict === "pass"
56
+ ? ` Gate ${gate.id}: pass.`
57
+ : ` Gate ${gate.id}: ${gate.verdict}\n${indent(indent(clip(gate.report, REPORT_CLIP)))}`);
58
+ }
59
+ return lines.join("\n");
60
+ }
61
+ /**
62
+ * Everything the Task went through before the next Attempt, oldest first: the
63
+ * refusal it started with, then each Attempt — how its producer ended, what it
64
+ * said, what each Gate answered.
65
+ *
66
+ * The report an Attempt receives is only the latest of it, and the latest can
67
+ * be a producer killed at its clock, which says nothing of why the Task is
68
+ * here. This is what puts the original refusal back in front of the one who has
69
+ * to act on it. Bounded: the refusal the Task came with always stays; when the
70
+ * rest does not fit, the oldest Attempts are the ones left out.
71
+ *
72
+ * Absent while there is nothing to add to the report: a first Attempt, or a
73
+ * Task that has not been through one yet.
74
+ */
75
+ export function buildHistory(input) {
76
+ const { report, refusedBy, traces } = input;
77
+ if (traces.length === 0) {
78
+ return undefined;
79
+ }
80
+ const given = report === undefined ? undefined : givenEntry(report, refusedBy);
81
+ const attempts = traces.map(attemptEntry);
82
+ let room = BUDGET - (given?.length ?? 0);
83
+ const kept = [];
84
+ for (let i = attempts.length - 1; i >= 0; i -= 1) {
85
+ const entry = attempts[i];
86
+ if (entry.length > room && kept.length > 0) {
87
+ break;
88
+ }
89
+ kept.unshift(entry);
90
+ room -= entry.length;
91
+ }
92
+ const left = attempts.length - kept.length;
93
+ const parts = [
94
+ ...(given === undefined ? [] : [given]),
95
+ ...(left > 0 ? [`(${left} earlier attempt${left === 1 ? "" : "s"} left out.)`] : []),
96
+ ...kept,
97
+ ];
98
+ return `History of this Task, oldest first:\n\n${parts.join("\n\n")}`;
99
+ }
100
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/loop/history.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-implementer.d.ts","sourceRoot":"","sources":["../../src/run/run-implementer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGvE,OAAO,KAAK,EAGV,UAAU,EACV,aAAa,EACb,UAAU,EACV,KAAK,EACN,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,iGAAiG;IACjG,aAAa,CAAC,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IACzC,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAuCF;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAc5E;AA6PD,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,GACb,SAAS,CAqBX"}
1
+ {"version":3,"file":"run-implementer.d.ts","sourceRoot":"","sources":["../../src/run/run-implementer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGvE,OAAO,KAAK,EAGV,UAAU,EACV,aAAa,EACb,UAAU,EACV,KAAK,EACN,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,iGAAiG;IACjG,aAAa,CAAC,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IACzC,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAuCF;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAc5E;AAkQD,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,GACb,SAAS,CAqBX"}
@@ -1,6 +1,7 @@
1
1
  import { runBuilder } from "../child/run-builder.js";
2
2
  import { runGate } from "../child/run-gate.js";
3
3
  import { decideAfterAttempt } from "../loop/decide-after-attempt.js";
4
+ import { buildHistory } from "../loop/history.js";
4
5
  import { keyedWriter } from "../progress/emit.js";
5
6
  import { announceStatus } from "../status/announce.js";
6
7
  import { makeStatus } from "../status/make-status.js";
@@ -111,6 +112,11 @@ async function runLoop(input) {
111
112
  attempt,
112
113
  previousReport,
113
114
  previousRefusedBy,
115
+ history: buildHistory({
116
+ report: invocation.report,
117
+ refusedBy: invocation.reportFrom,
118
+ traces,
119
+ }),
114
120
  timeoutMs: producer.timeoutMs,
115
121
  shouldInterrupt,
116
122
  onChild: input.onChild,
@@ -1 +1 @@
1
- {"version":3,"file":"run-implementer.js","sourceRoot":"","sources":["../../src/run/run-implementer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-implementer.js","sourceRoot":"","sources":["../../src/run/run-implementer.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -20,6 +20,8 @@ export type BuilderInput = {
20
20
  };
21
21
  export type BuilderResult = {
22
22
  kind: BuilderResultKind;
23
+ /** What a completed producer said last, when it said it (a `{ "said": … }` on stdout). */
24
+ said?: string;
23
25
  /** fail-retryable or fail-blocking when kind is failed / refused / timed_out */
24
26
  outcome?: "fail-retryable" | "fail-blocking";
25
27
  detail?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,CAAC;AAE1F,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,gBAAgB,GAAG,eAAe,GAAG,aAAa,CAAC;AAE5F,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GACzB,WAAW,GACX,QAAQ,GACR,WAAW,GACX,aAAa,GACb,SAAS;AACX,4EAA4E;GAC1E,SAAS,CAAC;AAEd,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,QAAQ,GACR,WAAW,GACX,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,0FAA0F;IAC1F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,OAAO,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,KAAK,EAAE,YAAY,CAAC;QACpB,MAAM,EAAE,aAAa,CAAC;KACvB,CAAC;IACF,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,UAAU,GAAG;IACvB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACzB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,SAAS,GAAG,SAAS,CAAC;AAEzE,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,4FAA4F;IAC5F,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB;;;;OAIG;IACH,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bluewombat/implementer",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
5
  "description": "Transformer: runs one Task — Builder, then Gates — until validated, escalated, or interrupted.",
6
6
  "keywords": [