@guyghost/swarm-dao-improvement 0.6.4 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/workers.d.ts CHANGED
@@ -5,10 +5,22 @@ export interface HerdrWorkerOptions {
5
5
  /** herdr agent kind (default "pi"). */
6
6
  kind?: string;
7
7
  /** Extra args passed to the agent executable. Default: ["-ne"] for the pi
8
- * kind (signal-only workers must not carry the dao_* extension tools);
9
- * other kinds default to no extra args. */
8
+ * kind (signal-only workers must not carry the dao_* extension tools), plus
9
+ * an explicit -e to herdr's state reporter when it is installed so herdr
10
+ * keeps a lifecycle state authority on the worker pane; other kinds default
11
+ * to no extra args. */
10
12
  agentArgs?: readonly string[];
11
- /** Per-attempt prompt timeout in ms (default 5 min; herdr max 300000). */
13
+ /** Path checked (for existence) before appending `-e` to the pi kind
14
+ * default args. Default: herdr's pi integration install location. */
15
+ piStateReporterPath?: string;
16
+ /** Parent herdr workspace id for child-session linkage (default:
17
+ * HERDR_WORKSPACE_ID when running inside a herdr pane). Series-worktree
18
+ * workers open nested under it; same-checkout workers get a parent token. */
19
+ parentWorkspaceId?: string;
20
+ /** Per-attempt harvest deadline in ms (default 10 min; ceiling 15 min).
21
+ * The old herdr --wait cap no longer applies: real observation work
22
+ * (running repo measurements, reading models) legitimately takes 5–10 min
23
+ * under load. */
12
24
  timeoutMs?: number;
13
25
  /** agent start readiness timeout in ms (default 120 s; herdr max 300000). */
14
26
  startTimeoutMs?: number;
@@ -19,11 +31,9 @@ export interface HerdrWorkerOptions {
19
31
  /** Delay between same-pane agent start readiness retries (default 1 s; 0
20
32
  * only for tests). */
21
33
  readinessRetryDelayMs?: number;
22
- /** Grace-poll budget after a stalled prompt (default 20 s). */
23
- stalledGraceMs?: number;
24
- /** Delay between stalled-prompt grace polls (default 2 s; 0 only for
34
+ /** Delay between transcript harvest polls (default 5 s; 0 only for
25
35
  * tests). */
26
- stalledPollIntervalMs?: number;
36
+ pollIntervalMs?: number;
27
37
  /** Injectable command runner (tests). */
28
38
  runner?: HerdrRunner;
29
39
  }
@@ -41,12 +51,35 @@ export declare const SAFE_HERDR_KIND: RegExp;
41
51
  * sidesteps the local .pi extension conflict. Other kinds use their own
42
52
  * defaults unless the caller passes explicit agentArgs. */
43
53
  export declare const DEFAULT_PI_AGENT_ARGS: readonly string[];
54
+ /** Default install path of herdr's pi state integration (reported by
55
+ * `herdr integration status`); herdr's lifecycle state authority for pi. */
56
+ export declare const PI_STATE_REPORTER_PATH: string;
57
+ /**
58
+ * pi worker args with herdr's state reporter loaded explicitly when it is
59
+ * installed. -ne disables extension discovery, so without this the reporter
60
+ * never loads and herdr falls back to screen-manifest detection — which
61
+ * matches no rule on a fast worker pane, herdr observes no state change, and
62
+ * every `agent prompt --wait` trips agent_prompt_stalled with a frozen
63
+ * state_change_seq while the worker actually completes (reproduced live).
64
+ * Explicit -e still works under -ne, and discovery stays off, so the dao_*
65
+ * extension tools are still never loaded.
66
+ */
67
+ export declare function piWorkerAgentArgs(reporterPath?: string): readonly string[];
44
68
  export declare const toBoundedInt: (value: unknown, fallback: number, min: number, max: number) => number;
45
69
  /**
46
70
  * Run one worker prompt inside a herdr workspace, with bounded effect-level
47
71
  * retries (fresh workspace and unique agent name per attempt).
48
72
  */
49
73
  export declare function runHerdrWorker(options: HerdrWorkerOptions, name: string, prompt: string): Promise<WorkerHarvest>;
74
+ /**
75
+ * The worker contract: the transcript's last JSON object must carry a
76
+ * resolved answer — a sample contract (sensor / counter-sensor) or a drift
77
+ * contract (drift-auditor) — with non-placeholder evidence. The echoed prompt
78
+ * contains the JSON template itself ("improved|held|declined",
79
+ * "<concise observation>"), so a matching shape alone is not enough (issue
80
+ * #148).
81
+ */
82
+ export declare function isWorkerContract(candidate: Record<string, unknown> | null): boolean;
50
83
  /**
51
84
  * Extract the worker's JSON answer from a harvested transcript. Agents echo
52
85
  * the prompt (which itself contains JSON templates), so only the LAST JSON
@@ -1 +1 @@
1
- {"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../src/workers.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AA2CrE,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;+CAE2C;IAC3C,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;0BACsB;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;iBACa;IACb,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yCAAyC;IACzC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnG,kFAAkF;AAClF,eAAO,MAAM,eAAe,QAA4B,CAAC;AAEzD;;;2DAG2D;AAC3D,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAAY,CAAC;AA8ChE,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,EAAE,UAAU,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAIzF,CAAC;AA6DF;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CA2GxB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAuBrF"}
1
+ {"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../src/workers.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AA4CrE,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;2BAIuB;IACvB,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B;yEACqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;iFAE6E;IAC7E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;qBAGiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;0BACsB;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;iBACa;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnG,kFAAkF;AAClF,eAAO,MAAM,eAAe,QAA4B,CAAC;AAEzD;;;2DAG2D;AAC3D,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAAY,CAAC;AAEhE;4EAC4E;AAC5E,eAAO,MAAM,sBAAsB,QAA6E,CAAC;AAEjH;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,GAAE,MAA+B,GAAG,SAAS,MAAM,EAAE,CAElG;AA8CD,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,EAAE,UAAU,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAIzF,CAAC;AAqDF;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAiIxB;AAYD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAYnF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAuBrF"}
package/dist/workers.js CHANGED
@@ -3,11 +3,21 @@
3
3
  // as a real coding agent inside a herdr workspace, mirroring the battle-tested
4
4
  // lifecycle of packages/herdr-adapter:
5
5
  // herdr workspace create --cwd <repo> --label <name> --no-focus
6
+ // (or `herdr worktree open --workspace <parent>` for series-worktree
7
+ // workers, linking the child to the parent session's Spaces entry)
6
8
  // herdr agent start <name> --kind <kind> --pane <id> --timeout <ms> -- <args>
7
- // herdr agent prompt <name> '<prompt>' --wait --timeout <ms>
8
- // herdr agent read <name> --source recent-unwrapped --lines N
9
+ // herdr agent prompt <name> '<prompt>'
10
+ // herdr agent read <name> --source recent-unwrapped --lines N (polled)
9
11
  // herdr workspace close <id>
10
12
  //
13
+ // State-detection-free harvest (#148): herdr state detection misreads busy
14
+ // coding-agent panes — `agent prompt --wait` reports agent_prompt_stalled
15
+ // with a frozen state_change_seq while the worker works, and grace-poll
16
+ // recovery re-prompts a live worker (double submission). The prompt is
17
+ // therefore submitted without --wait and the transcript is polled directly:
18
+ // the attempt ends when its last JSON object satisfies the worker contract,
19
+ // the output settles without one, or the deadline expires.
20
+ //
11
21
  // Readiness race: workspace create returns before the fresh pane's shell has
12
22
  // reached its interactive prompt, and herdr's agent start classifies such a
13
23
  // pane as busy (agent_pane_busy) instead of waiting for the prompt — slower
@@ -20,8 +30,11 @@
20
30
  // effect-level, bounded, and idempotent (fresh workspace per attempt); they
21
31
  // never change series or cycle state.
22
32
  import { execFile } from "node:child_process";
33
+ import { existsSync } from "node:fs";
34
+ import { homedir } from "node:os";
35
+ import path from "node:path";
23
36
  import { ORCHESTRATOR_MAX_WORKER_RETRIES } from "@guyghost/swarm-dao-core/models/improvement";
24
- import { promptAgentUntilSettled, sanitizeHerdrName, startAgentUntilReady, trimTrailingNewlines, } from "@guyghost/swarm-dao-herdr-adapter";
37
+ import { createChildWorkspace, herdrParentWorkspaceId, sanitizeHerdrName, startAgentUntilReady, trimTrailingNewlines, } from "@guyghost/swarm-dao-herdr-adapter";
25
38
  /** execFile with utf8 strings, promise-shaped. Failures reject with the child
26
39
  * error carrying .code/.stdout/.stderr. Commands are ARGV — never shell
27
40
  * strings — so worker prompts and labels are never shell-interpreted. */
@@ -60,6 +73,22 @@ export const SAFE_HERDR_KIND = /^[a-z][a-z0-9_-]{0,31}$/;
60
73
  * sidesteps the local .pi extension conflict. Other kinds use their own
61
74
  * defaults unless the caller passes explicit agentArgs. */
62
75
  export const DEFAULT_PI_AGENT_ARGS = ["-ne"];
76
+ /** Default install path of herdr's pi state integration (reported by
77
+ * `herdr integration status`); herdr's lifecycle state authority for pi. */
78
+ export const PI_STATE_REPORTER_PATH = path.join(homedir(), ".pi", "agent", "extensions", "herdr-agent-state.ts");
79
+ /**
80
+ * pi worker args with herdr's state reporter loaded explicitly when it is
81
+ * installed. -ne disables extension discovery, so without this the reporter
82
+ * never loads and herdr falls back to screen-manifest detection — which
83
+ * matches no rule on a fast worker pane, herdr observes no state change, and
84
+ * every `agent prompt --wait` trips agent_prompt_stalled with a frozen
85
+ * state_change_seq while the worker actually completes (reproduced live).
86
+ * Explicit -e still works under -ne, and discovery stays off, so the dao_*
87
+ * extension tools are still never loaded.
88
+ */
89
+ export function piWorkerAgentArgs(reporterPath = PI_STATE_REPORTER_PATH) {
90
+ return existsSync(reporterPath) ? [...DEFAULT_PI_AGENT_ARGS, "-e", reporterPath] : DEFAULT_PI_AGENT_ARGS;
91
+ }
63
92
  /**
64
93
  * Escape raw control characters that are illegal inside JSON string literals.
65
94
  * Terminal hard-wraps inject literal newlines mid-string (observed on real
@@ -137,12 +166,6 @@ function parseHerdrJson(raw) {
137
166
  return null;
138
167
  }
139
168
  }
140
- function agentState(result) {
141
- // herdr exposes the lifecycle field as agent_status (verified live); the
142
- // others are defensive fallbacks — reading them alone silently disabled the
143
- // blocked-worker guard (issue #138).
144
- return result?.agent?.agent_status ?? result?.agent?.status ?? result?.agent?.state ?? null;
145
- }
146
169
  /** Close workspaces left behind by a run killed mid-flight (host timeout,
147
170
  * crash): the labels are deterministic per worker, so any workspace carrying
148
171
  * our label (or a retry variant) when we start is an orphan from a previous
@@ -173,15 +196,15 @@ async function closeLingeringWorkspaces(runner, baseName) {
173
196
  export async function runHerdrWorker(options, name, prompt) {
174
197
  const runner = options.runner ?? defaultRunner();
175
198
  const kind = options.kind ?? "pi";
176
- const agentArgs = options.agentArgs ?? (kind === "pi" ? DEFAULT_PI_AGENT_ARGS : []);
177
- // herdr's own timeout ceiling is 300000ms; readLines is capped to keep the
178
- // read command (and the harvested transcript) bounded.
179
- const timeoutMs = toBoundedInt(options.timeoutMs, 300_000, 1_000, 300_000);
199
+ const agentArgs = options.agentArgs ?? (kind === "pi" ? piWorkerAgentArgs(options.piStateReporterPath) : []);
200
+ // The harvest deadline bounds the whole attempt; readLines is capped to
201
+ // keep the read command (and the harvested transcript) bounded.
202
+ const timeoutMs = toBoundedInt(options.timeoutMs, 600_000, 1_000, 900_000);
180
203
  const startTimeoutMs = toBoundedInt(options.startTimeoutMs, 120_000, 1_000, 300_000);
181
204
  const readLines = toBoundedInt(options.readLines, 200, 1, 10_000);
182
205
  const readinessRetryDelayMs = toBoundedInt(options.readinessRetryDelayMs, 1_000, 0, 60_000);
183
- const stalledGraceMs = toBoundedInt(options.stalledGraceMs, 20_000, 0, 60_000);
184
- const stalledPollIntervalMs = toBoundedInt(options.stalledPollIntervalMs, 2_000, 0, 30_000);
206
+ const pollIntervalMs = toBoundedInt(options.pollIntervalMs, 5_000, 0, 60_000);
207
+ const parentWorkspaceId = options.parentWorkspaceId ?? herdrParentWorkspaceId();
185
208
  if (!SAFE_HERDR_KIND.test(kind))
186
209
  return { ok: false, error: `herdr kind '${kind}' is not a valid agent kind identifier.` };
187
210
  const baseName = sanitizeHerdrName(name);
@@ -194,26 +217,20 @@ export async function runHerdrWorker(options, name, prompt) {
194
217
  const agentName = attempt === 1 ? baseName : `${baseName}-r${attempt}`.slice(0, 32);
195
218
  let workspaceId = null;
196
219
  try {
197
- const created = await runner.exec([
198
- "herdr",
199
- "workspace",
200
- "create",
201
- "--cwd",
202
- options.workDir,
203
- "--label",
204
- agentName,
205
- "--no-focus",
206
- ]);
207
- if (created.exitCode !== 0) {
208
- lastError = `herdr workspace create failed: ${herdrErrorDetail(created.stderr, created.stdout)}`;
209
- continue;
210
- }
211
- const paneId = parseHerdrJson(created.stdout)?.result?.root_pane?.pane_id ?? null;
212
- workspaceId = parseHerdrJson(created.stdout)?.result?.workspace?.workspace_id ?? null;
213
- if (!paneId || !workspaceId) {
214
- lastError = `herdr workspace create returned no pane/workspace id: ${created.stdout.slice(0, 200)}`;
220
+ // Linked to the parent herdr session when one is detectable: series
221
+ // worktree workers nest under it in the Spaces sidebar (linked
222
+ // worktree children); same-checkout workers get a parent token.
223
+ const created = await createChildWorkspace(runner, {
224
+ workDir: options.workDir,
225
+ label: agentName,
226
+ parentWorkspaceId,
227
+ });
228
+ if (!created.ok) {
229
+ lastError = created.error;
215
230
  continue;
216
231
  }
232
+ const paneId = created.paneId;
233
+ workspaceId = created.workspaceId;
217
234
  // agent_pane_busy is transient (pane not yet at its shell prompt):
218
235
  // startAgentUntilReady retries on the same pane until the readiness
219
236
  // budget is spent; any other code surfaces immediately.
@@ -229,38 +246,69 @@ export async function runHerdrWorker(options, name, prompt) {
229
246
  lastError = `herdr agent start (${kind}) failed: ${herdrErrorDetail(started.stderr, started.stdout)}`;
230
247
  continue;
231
248
  }
232
- // 3. Prompt and wait for a settled state (idle | done | blocked),
233
- // recovering from herdr's transient agent_prompt_stalled classification.
234
- const prompted = await promptAgentUntilSettled(runner, {
235
- agentName,
236
- prompt,
237
- timeoutMs,
238
- stalledGraceMs,
239
- pollIntervalMs: stalledPollIntervalMs,
240
- });
249
+ // 3. Submit the prompt without waiting on herdr state detection: busy
250
+ // coding-agent panes read as idle with a frozen state_change_seq, so
251
+ // --wait stalls on live workers and grace-poll recovery re-prompts
252
+ // them (double submission). The transcript itself is the authority
253
+ // (issue #148); at most one prompt per attempt, ever.
254
+ const prompted = await runner.exec(["herdr", "agent", "prompt", agentName, prompt]);
241
255
  if (prompted.exitCode !== 0) {
242
256
  lastError = `herdr agent prompt failed: ${herdrErrorDetail(prompted.stderr, prompted.stdout)}`;
243
257
  continue;
244
258
  }
245
- if (agentState(parseHerdrJson(prompted.stdout)?.result) === "blocked") {
246
- lastError = `herdr agent ${agentName} is blocked (approval/question UI) it never produced a signal.`;
247
- continue;
248
- }
249
- const read = await runner.exec([
250
- "herdr",
251
- "agent",
252
- "read",
253
- agentName,
254
- "--source",
255
- "recent-unwrapped",
256
- "--lines",
257
- String(readLines),
258
- ]);
259
- if (read.exitCode !== 0) {
260
- lastError = `herdr agent read failed: ${herdrErrorDetail(read.stderr, read.stdout)}`;
261
- continue;
259
+ // 4. Harvest the transcript until the last JSON object satisfies the
260
+ // worker contract, the output settles without one, or the deadline
261
+ // expires. Read failures are transient: poll again until the deadline.
262
+ const deadline = Date.now() + timeoutMs;
263
+ let content = "";
264
+ let previousLength = -1;
265
+ let stablePolls = 0;
266
+ let readError = null;
267
+ let harvested = null;
268
+ while (Date.now() < deadline) {
269
+ await sleep(pollIntervalMs);
270
+ const read = await runner.exec([
271
+ "herdr",
272
+ "agent",
273
+ "read",
274
+ agentName,
275
+ "--source",
276
+ "recent-unwrapped",
277
+ "--lines",
278
+ String(readLines),
279
+ ]);
280
+ if (read.exitCode !== 0) {
281
+ readError = herdrErrorDetail(read.stderr, read.stdout);
282
+ continue;
283
+ }
284
+ readError = null;
285
+ content = trimTrailingNewlines(read.stdout);
286
+ if (isWorkerContract(extractLastJsonObject(content))) {
287
+ harvested = content;
288
+ break;
289
+ }
290
+ // Settled output that never satisfies the contract (blocked UI,
291
+ // prose-only transcript): four identical non-empty polls are enough.
292
+ if (content.length > 0 && content.length === previousLength)
293
+ stablePolls += 1;
294
+ else
295
+ stablePolls = 0;
296
+ previousLength = content.length;
297
+ if (stablePolls >= 4)
298
+ break;
262
299
  }
263
- return { ok: true, content: trimTrailingNewlines(read.stdout) };
300
+ if (harvested !== null)
301
+ return { ok: true, content: harvested };
302
+ // Attempt failure with field diagnostics: captured size and the last
303
+ // parsed JSON fragment for post-mortems. Blocked-agent detection is
304
+ // deliberately gone — a blocked UI settles without a contract, and
305
+ // environment-level "cannot measure" halts at the anchor layer (#145).
306
+ const lastJson = extractLastJsonObject(content);
307
+ const fragment = lastJson === null ? "none" : JSON.stringify(lastJson).slice(0, 300);
308
+ lastError =
309
+ `herdr agent ${agentName} settled without a valid contract` +
310
+ (readError !== null ? ` (last read error: ${readError})` : "") +
311
+ ` (captured ${content.length} chars, last JSON: ${fragment})`;
264
312
  }
265
313
  catch (error) {
266
314
  lastError = error instanceof Error ? error.message : String(error);
@@ -273,6 +321,36 @@ export async function runHerdrWorker(options, name, prompt) {
273
321
  }
274
322
  return { ok: false, error: `worker ${baseName} failed after ${maxAttempts} attempts: ${lastError}` };
275
323
  }
324
+ /**
325
+ * Resolve after ms milliseconds — harvest poll pacing.
326
+ */
327
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
328
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
329
+ const isFilled = (value) => typeof value === "string" && value.length > 0;
330
+ /**
331
+ * The worker contract: the transcript's last JSON object must carry a
332
+ * resolved answer — a sample contract (sensor / counter-sensor) or a drift
333
+ * contract (drift-auditor) — with non-placeholder evidence. The echoed prompt
334
+ * contains the JSON template itself ("improved|held|declined",
335
+ * "<concise observation>"), so a matching shape alone is not enough (issue
336
+ * #148).
337
+ */
338
+ export function isWorkerContract(candidate) {
339
+ if (candidate === null)
340
+ return false;
341
+ const sample = isRecord(candidate.sample) ? candidate.sample : null;
342
+ // Contract shape: a sample object or a named drift class.
343
+ if (sample === null && !isFilled(candidate.driftClass))
344
+ return false;
345
+ // The echoed template's sample.value is the "improved|held|declined" menu.
346
+ const value = sample?.value;
347
+ if (typeof value === "string" && value.includes("|"))
348
+ return false;
349
+ // Evidence must be real prose; "<...>" is the unfilled prompt placeholder.
350
+ // Drift answers carry it at top level, not under sample.
351
+ const evidence = sample?.evidence ?? candidate.evidence ?? candidate.driftEvidence;
352
+ return isFilled(evidence) && !evidence.startsWith("<");
353
+ }
276
354
  /**
277
355
  * Extract the worker's JSON answer from a harvested transcript. Agents echo
278
356
  * the prompt (which itself contains JSON templates), so only the LAST JSON
@@ -1 +1 @@
1
- {"version":3,"file":"workers.js","sourceRoot":"","sources":["../src/workers.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,8EAA8E;AAC9E,+EAA+E;AAC/E,uCAAuC;AACvC,kEAAkE;AAClE,gFAAgF;AAChF,+DAA+D;AAC/D,gEAAgE;AAChE,+BAA+B;AAC/B,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,uDAAuD;AACvD,EAAE;AACF,6EAA6E;AAC7E,oEAAoE;AACpE,4EAA4E;AAC5E,sCAAsC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAE9F,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAE3C;;yEAEyE;AACzE,MAAM,aAAa,GAAG,CACpB,IAAY,EACZ,IAAuB,EACvB,OAA+D,EAClB,EAAE,CAC/C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QAC/E,IAAI,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;;YACvD,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,aAAa,GAAG,GAAgB,EAAE,CAAC,CAAC;IACxC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC3E,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;aAC5B,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAuF,CAAC;YACxG,OAAO;gBACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,gBAAgB;gBAC7D,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,IAAe,CAAC,CAAC,CAAC,CAAC;aACxE,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAiCH,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAEzD;;;2DAG2D;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAsB,CAAC,KAAK,CAAC,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,CAAC,SAAiB,EAAU,EAAE;IAC3D,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,QAAQ,IAAI,KAAK,CAAC;gBAClB,SAAS;YACX,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,QAAQ,IAAI,KAAK,CAAC;gBAClB,SAAS;YACX,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,QAAQ,IAAI,KAAK,CAAC;gBAClB,SAAS;YACX,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACpD,sEAAsE;gBACtE,2EAA2E;gBAC3E,SAAS;YACX,CAAC;YACD,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,QAAQ,IAAI,IAAI,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,8EAA8E;AAC9E,8EAA8E;AAC9E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,QAAgB,EAAE,GAAW,EAAE,GAAW,EAAU,EAAE;IACjG,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,SAAS,gBAAgB,CAAC,MAAc,EAAE,MAAc;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACvE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAI,MAAyD,CAAC,KAAK,CAAC;YAC3F,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACjF,CAAC;AAWD,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAE,MAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAA2B;IAC7C,yEAAyE;IACzE,4EAA4E;IAC5E,qCAAqC;IACrC,OAAO,MAAM,EAAE,KAAK,EAAE,YAAY,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC;AAC9F,CAAC;AAED;;;;4EAI4E;AAC5E,KAAK,UAAU,wBAAwB,CAAC,MAAmB,EAAE,QAAgB;IAC3E,IAAI,MAAgD,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,4DAA4D;IACtE,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO;IAClC,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC;IAC3E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC;YAAE,SAAS;QACpG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACpG,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA2B,EAC3B,IAAY,EACZ,MAAc;IAEd,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpF,2EAA2E;IAC3E,uDAAuD;IACvD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACrF,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5F,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/E,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAE5F,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,IAAI,yCAAyC,EAAE,CAAC;IAC5F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,WAAW,GAAG,+BAA+B,GAAG,CAAC,CAAC;IACxD,IAAI,SAAS,GAAG,sBAAsB,CAAC;IAEvC,sEAAsE;IACtE,uCAAuC;IACvC,MAAM,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEjD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAChC,OAAO;gBACP,WAAW;gBACX,QAAQ;gBACR,OAAO;gBACP,OAAO,CAAC,OAAO;gBACf,SAAS;gBACT,SAAS;gBACT,YAAY;aACb,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC3B,SAAS,GAAG,kCAAkC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjG,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,IAAI,IAAI,CAAC;YAClF,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,IAAI,IAAI,CAAC;YACtF,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5B,SAAS,GAAG,yDAAyD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;gBACpG,SAAS;YACX,CAAC;YAED,mEAAmE;YACnE,oEAAoE;YACpE,wDAAwD;YACxD,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE;gBACjD,SAAS;gBACT,IAAI;gBACJ,MAAM;gBACN,SAAS,EAAE,cAAc;gBACzB,SAAS;gBACT,YAAY,EAAE,qBAAqB;aACpC,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC3B,SAAS,GAAG,sBAAsB,IAAI,aAAa,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtG,SAAS;YACX,CAAC;YAED,kEAAkE;YAClE,yEAAyE;YACzE,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE;gBACrD,SAAS;gBACT,MAAM;gBACN,SAAS;gBACT,cAAc;gBACd,cAAc,EAAE,qBAAqB;aACtC,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC5B,SAAS,GAAG,8BAA8B,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/F,SAAS;YACX,CAAC;YACD,IAAI,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtE,SAAS,GAAG,eAAe,SAAS,kEAAkE,CAAC;gBACvG,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC7B,OAAO;gBACP,OAAO;gBACP,MAAM;gBACN,SAAS;gBACT,UAAU;gBACV,kBAAkB;gBAClB,SAAS;gBACT,MAAM,CAAC,SAAS,CAAC;aAClB,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACxB,SAAS,GAAG,4BAA4B,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrF,SAAS;YACX,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC;gBACtC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,QAAQ,iBAAiB,WAAW,cAAc,SAAS,EAAE,EAAE,CAAC;AACvG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QAClG,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5E,OAAO,MAAiC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAY,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClF,OAAO,QAAmC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,0CAA0C;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"workers.js","sourceRoot":"","sources":["../src/workers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guyghost/swarm-dao-improvement",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "description": "Swarm DAO improvement loop executor — continuous improvement series over journal-replayed cycles, with herdr workers and bounded sandbox execution (Docker / Apple container)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@guyghost/swarm-dao-core": "^0.16.3",
28
- "@guyghost/swarm-dao-herdr-adapter": "^0.4.2"
28
+ "@guyghost/swarm-dao-herdr-adapter": "^0.4.3"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/bun": "1.3.14",