@mobrienv/autoloop 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +100 -29
  2. package/dist/agent-map.js.map +1 -1
  3. package/dist/backend/acp-client.js +6 -1
  4. package/dist/backend/acp-client.js.map +1 -1
  5. package/dist/backend/kiro-bridge.d.ts +2 -0
  6. package/dist/backend/kiro-bridge.js +38 -4
  7. package/dist/backend/kiro-bridge.js.map +1 -1
  8. package/dist/backend/kiro-worker.js +20 -7
  9. package/dist/backend/kiro-worker.js.map +1 -1
  10. package/dist/backend/run-kiro.js +5 -1
  11. package/dist/backend/run-kiro.js.map +1 -1
  12. package/dist/chains/load.js +1 -1
  13. package/dist/chains/load.js.map +1 -1
  14. package/dist/cli/color.d.ts +6 -0
  15. package/dist/cli/color.js +40 -0
  16. package/dist/cli/color.js.map +1 -0
  17. package/dist/commands/guide.d.ts +1 -0
  18. package/dist/commands/guide.js +33 -0
  19. package/dist/commands/guide.js.map +1 -0
  20. package/dist/commands/inspect.js +45 -5
  21. package/dist/commands/inspect.js.map +1 -1
  22. package/dist/commands/run.js +6 -1
  23. package/dist/commands/run.js.map +1 -1
  24. package/dist/config.js +1 -1
  25. package/dist/config.js.map +1 -1
  26. package/dist/dashboard/app.js +1 -1
  27. package/dist/dashboard/app.js.map +1 -1
  28. package/dist/dashboard/routes/api.js +84 -1
  29. package/dist/dashboard/routes/api.js.map +1 -1
  30. package/dist/dashboard/routes/pages.d.ts +1 -1
  31. package/dist/dashboard/routes/pages.js +4 -2
  32. package/dist/dashboard/routes/pages.js.map +1 -1
  33. package/dist/dashboard/views/shell.d.ts +1 -1
  34. package/dist/dashboard/views/shell.js +366 -18
  35. package/dist/dashboard/views/shell.js.map +1 -1
  36. package/dist/events/types.d.ts +4 -2
  37. package/dist/harness/artifacts.d.ts +50 -0
  38. package/dist/harness/artifacts.js +333 -0
  39. package/dist/harness/artifacts.js.map +1 -0
  40. package/dist/harness/config-helpers.js +10 -10
  41. package/dist/harness/config-helpers.js.map +1 -1
  42. package/dist/harness/emit.js +2 -0
  43. package/dist/harness/emit.js.map +1 -1
  44. package/dist/harness/index.d.ts +7 -0
  45. package/dist/harness/index.js +78 -7
  46. package/dist/harness/index.js.map +1 -1
  47. package/dist/harness/journal-format.d.ts +25 -0
  48. package/dist/harness/journal-format.js +153 -0
  49. package/dist/harness/journal-format.js.map +1 -0
  50. package/dist/harness/journal.d.ts +1 -0
  51. package/dist/harness/journal.js +3 -0
  52. package/dist/harness/journal.js.map +1 -1
  53. package/dist/harness/metareview.js +1 -1
  54. package/dist/harness/metareview.js.map +1 -1
  55. package/dist/harness/prompt.d.ts +2 -0
  56. package/dist/harness/prompt.js +45 -6
  57. package/dist/harness/prompt.js.map +1 -1
  58. package/dist/harness/types.d.ts +2 -2
  59. package/dist/loops/health.d.ts +1 -0
  60. package/dist/loops/health.js +1 -1
  61. package/dist/loops/health.js.map +1 -1
  62. package/dist/main.js +5 -0
  63. package/dist/main.js.map +1 -1
  64. package/dist/usage.js +4 -3
  65. package/dist/usage.js.map +1 -1
  66. package/dist/worktree/clean.js +18 -3
  67. package/dist/worktree/clean.js.map +1 -1
  68. package/package.json +21 -4
  69. package/plugins/autoloop/.claude-plugin/plugin.json +9 -0
  70. package/plugins/autoloop/skills/autoloop/SKILL.md +225 -0
  71. package/presets/autodebug/README.md +50 -0
  72. package/presets/autodebug/autoloops.toml +18 -0
  73. package/presets/autodebug/harness.md +31 -0
  74. package/presets/autodebug/roles/fixer.md +58 -0
  75. package/presets/autodebug/roles/investigator.md +52 -0
  76. package/presets/autodebug/roles/strategist.md +45 -0
  77. package/presets/autodebug/roles/verifier.md +66 -0
  78. package/presets/autodebug/topology.toml +34 -0
  79. package/presets/autopreset/README.md +35 -0
  80. package/presets/autopreset/autoloops.toml +18 -0
  81. package/presets/autopreset/harness.md +38 -0
  82. package/presets/autopreset/roles/designer.md +33 -0
  83. package/presets/autopreset/roles/finalizer.md +23 -0
  84. package/presets/autopreset/roles/generator.md +34 -0
  85. package/presets/autopreset/roles/validator.md +31 -0
  86. package/presets/autopreset/topology.toml +32 -0
  87. package/presets/autoqa/README.md +43 -14
  88. package/presets/autoqa/autoloops.toml +2 -2
  89. package/presets/autoqa/harness.md +30 -8
  90. package/presets/autoqa/roles/executor.md +64 -11
  91. package/presets/autoqa/roles/inspector.md +68 -13
  92. package/presets/autoqa/roles/planner.md +43 -11
  93. package/presets/autoqa/roles/reporter.md +51 -8
@@ -1,17 +1,19 @@
1
- import { writeFileSync } from "node:fs";
1
+ import { existsSync, unlinkSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { initKiroSession, terminateKiroSession, } from "../backend/kiro-bridge.js";
3
+ import { initKiroSession, signalInterrupt, terminateKiroSession, } from "../backend/kiro-bridge.js";
4
4
  import * as config from "../config.js";
5
5
  import { registryStart, registryStop } from "../registry/harness.js";
6
6
  import { cleanWorktrees } from "../worktree/clean.js";
7
7
  import { mergeWorktree } from "../worktree/merge.js";
8
8
  import { readMeta, updateStatus as updateWorktreeStatus, } from "../worktree/meta.js";
9
+ import { collectArtifacts, formatArtifacts } from "./artifacts.js";
9
10
  import { applyRuntimeModeOverrides, buildLoopContext, emptyFallback, ensureLayout, ensureRenderRunId, initStore, installRuntimeTools, iterationFieldForRun, reloadLoop, resolveJournalFileForRun, } from "./config-helpers.js";
10
11
  import { coordinationFromLines } from "./coordination.js";
11
12
  import { log, printProjectedMarkdown, printProjectedText, printSummary, } from "./display.js";
12
13
  import { emit as emitCmd, resolveEmitJournalFile } from "./emit.js";
13
14
  import { runIteration } from "./iteration.js";
14
15
  import { readAllJournals, readIfExists, readRunJournal, readRunLines, } from "./journal.js";
16
+ import { formatTimeline } from "./journal-format.js";
15
17
  import { maybeRunMetareview } from "./metareview.js";
16
18
  import { collectMetricsRows, formatMetrics } from "./metrics.js";
17
19
  import { appendLoopStart, branchStopReason, loadParallelBranchLaunch, parallelBranchBackendOverride, renderBranchResult, seedBranchContext, writeParallelBranchSummary, } from "./parallel.js";
@@ -24,19 +26,48 @@ export function run(projectDir, promptOverride, selfCommand, runOptions) {
24
26
  installRuntimeTools(loop);
25
27
  appendLoopStart(loop);
26
28
  registryStart(loop);
27
- // Track current iteration for signal handler
28
- const currentIteration = 0;
29
+ // Track current iteration for signal handler (must be mutable)
30
+ let currentIteration = 0;
29
31
  let signalHandled = false;
30
32
  const onSignal = (signal) => {
31
33
  if (signalHandled)
32
34
  return;
33
35
  signalHandled = true;
36
+ signalInterrupt();
37
+ try {
38
+ if (loop.kiroSession) {
39
+ terminateKiroSession(loop.kiroSession);
40
+ loop.kiroSession = undefined;
41
+ }
42
+ }
43
+ catch {
44
+ /* best-effort */
45
+ }
34
46
  try {
35
47
  registryStop(loop, currentIteration, "interrupted");
36
48
  }
37
49
  catch {
38
50
  /* best-effort */
39
51
  }
52
+ // Update worktree meta so the run isn't stuck as "running"
53
+ if (loop.paths.worktreeMetaDir) {
54
+ try {
55
+ updateWorktreeStatus(loop.paths.worktreeMetaDir, "failed");
56
+ }
57
+ catch {
58
+ /* best-effort */
59
+ }
60
+ }
61
+ // Remove active wave marker so future waves aren't blocked
62
+ const waveMarker = join(loop.paths.stateDir, "waves", "active");
63
+ if (existsSync(waveMarker)) {
64
+ try {
65
+ unlinkSync(waveMarker);
66
+ }
67
+ catch {
68
+ /* best-effort */
69
+ }
70
+ }
40
71
  process.removeListener("SIGINT", onSignal);
41
72
  process.removeListener("SIGTERM", onSignal);
42
73
  process.kill(process.pid, signal);
@@ -53,12 +84,17 @@ export function run(projectDir, promptOverride, selfCommand, runOptions) {
53
84
  trustAllTools: loop.store.kiro_trust_all_tools !== false,
54
85
  agentName: loop.store.kiro_agent || undefined,
55
86
  modelId: loop.store.kiro_model || undefined,
87
+ verbose: loop.runtime.logLevel === "debug",
56
88
  };
57
89
  loop.kiroSession = initKiroSession(acpOpts);
58
90
  }
59
91
  let summary;
92
+ const trackedIterate = (ctx, iter) => {
93
+ currentIteration = iter;
94
+ return iterateWith(ctx, iter, trackedIterate);
95
+ };
60
96
  try {
61
- summary = iterate(loop, 1);
97
+ summary = trackedIterate(loop, 1);
62
98
  }
63
99
  finally {
64
100
  if (loop.kiroSession) {
@@ -219,6 +255,38 @@ export function runParallelBranchCli(projectDir, branchDir, selfCommand) {
219
255
  writeFileSync(join(branchDir, "result.md"), renderBranchResult(result));
220
256
  writeParallelBranchSummary(branchDir, result);
221
257
  }
258
+ export function renderJournalTimeline(projectDir, spec) {
259
+ let lines;
260
+ if (spec.allRuns) {
261
+ const stateDir = config.stateDirPath(projectDir);
262
+ lines = readAllJournals(stateDir);
263
+ if (lines.length === 0) {
264
+ // Fallback to current journal file
265
+ const journalFile = resolveEmitJournalFile(projectDir);
266
+ lines = readRunLines(journalFile, ensureRenderRunId(journalFile));
267
+ }
268
+ }
269
+ else {
270
+ const { journalFile, runId } = resolveJournalAndRun(projectDir, spec.run);
271
+ lines = readRunLines(journalFile, runId);
272
+ }
273
+ const output = formatTimeline(lines, {
274
+ topics: spec.topics,
275
+ iterFilter: spec.iterFilter,
276
+ });
277
+ console.log(output);
278
+ }
279
+ export function renderArtifacts(projectDir, format, runOverride) {
280
+ const { journalFile, runId } = resolveJournalAndRun(projectDir, runOverride);
281
+ const lines = readRunLines(journalFile, runId);
282
+ const artifacts = collectArtifacts(lines, projectDir);
283
+ if (format === "json") {
284
+ console.log(JSON.stringify(artifacts, null, 2));
285
+ }
286
+ else {
287
+ console.log(formatArtifacts(artifacts));
288
+ }
289
+ }
222
290
  // --- Private implementation ---
223
291
  function resolveJournalAndRun(projectDir, runIdOverride) {
224
292
  if (runIdOverride) {
@@ -227,7 +295,7 @@ function resolveJournalAndRun(projectDir, runIdOverride) {
227
295
  const journalFile = resolveEmitJournalFile(projectDir);
228
296
  return { journalFile, runId: ensureRenderRunId(journalFile) };
229
297
  }
230
- function iterate(loop, iteration) {
298
+ function iterateWith(loop, iteration, recurse) {
231
299
  const liveLoop = reloadLoop(loop);
232
300
  liveLoop.kiroSession = loop.kiroSession;
233
301
  installRuntimeTools(liveLoop);
@@ -235,6 +303,9 @@ function iterate(loop, iteration) {
235
303
  if (iteration > reviewed.limits.maxIterations) {
236
304
  return stopMaxIterations(reviewed, iteration);
237
305
  }
238
- return runIteration(reviewed, iteration, iterate);
306
+ return runIteration(reviewed, iteration, recurse);
307
+ }
308
+ function iterate(loop, iteration) {
309
+ return iterateWith(loop, iteration, iterate);
239
310
  }
240
311
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Journal timeline formatting utilities.
3
+ * Converts raw journal events into a filterable, color-coded terminal timeline.
4
+ */
5
+ import type { JournalEvent } from "../events/types.js";
6
+ /** Map a topic string to its category name. */
7
+ export declare function topicCategory(topic: string): string;
8
+ /**
9
+ * Check if a topic matches a filter pattern.
10
+ * Supports exact match, category prefix, and glob with `*`.
11
+ */
12
+ export declare function topicMatchesFilter(topic: string, pattern: string): boolean;
13
+ /** Format a single event into a one-line string with color. */
14
+ export declare function eventOneLiner(line: string, event: JournalEvent, maxWidth?: number): string;
15
+ interface TimelineOptions {
16
+ topics?: string[];
17
+ iterFilter?: string;
18
+ maxWidth?: number;
19
+ }
20
+ /**
21
+ * Format an array of raw journal lines into a grouped, colored timeline string.
22
+ * Groups events by iteration, with separator lines.
23
+ */
24
+ export declare function formatTimeline(lines: string[], opts?: TimelineOptions): string;
25
+ export {};
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Journal timeline formatting utilities.
3
+ * Converts raw journal events into a filterable, color-coded terminal timeline.
4
+ */
5
+ import { color } from "../cli/color.js";
6
+ import { decodeEvent } from "../events/decode.js";
7
+ import { extractField } from "../json.js";
8
+ /** Category-to-color mapping per RFC */
9
+ const CATEGORY_COLORS = {
10
+ loop: ["cyan"],
11
+ iteration: ["yellow"],
12
+ backend: ["dim", "gray"],
13
+ review: ["magenta"],
14
+ coordination: ["blue"],
15
+ operator: ["brightRed"],
16
+ routing: ["dimBlue"],
17
+ error: ["red", "bold"],
18
+ };
19
+ /** Map a topic string to its category name. */
20
+ export function topicCategory(topic) {
21
+ if (topic === "event.invalid" || topic === "loop.stop")
22
+ return "error";
23
+ const prefix = topic.split(".")[0];
24
+ switch (prefix) {
25
+ case "loop":
26
+ return "loop";
27
+ case "iteration":
28
+ return "iteration";
29
+ case "backend":
30
+ return "backend";
31
+ case "review":
32
+ return "review";
33
+ case "issue":
34
+ case "slice":
35
+ case "context":
36
+ case "chain":
37
+ case "artifact":
38
+ return "coordination";
39
+ case "operator":
40
+ return "operator";
41
+ case "wave":
42
+ return "routing";
43
+ default:
44
+ return "routing";
45
+ }
46
+ }
47
+ /**
48
+ * Check if a topic matches a filter pattern.
49
+ * Supports exact match, category prefix, and glob with `*`.
50
+ */
51
+ export function topicMatchesFilter(topic, pattern) {
52
+ if (topic === pattern)
53
+ return true;
54
+ // Category match: bare category name like "loop" matches "loop.*"
55
+ if (!pattern.includes(".") && !pattern.includes("*")) {
56
+ return topicCategory(topic) === pattern || topic.startsWith(`${pattern}.`);
57
+ }
58
+ // Glob: convert * to regex
59
+ if (pattern.includes("*")) {
60
+ const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, "\\$&");
61
+ const re = new RegExp(`^${escaped.replace(/\*/g, ".*")}$`);
62
+ return re.test(topic);
63
+ }
64
+ return false;
65
+ }
66
+ /** Extract a one-line summary from a decoded event. */
67
+ function eventSummary(event, maxLen) {
68
+ if (event.shape === "payload") {
69
+ const text = event.payload.replace(/\n/g, " ").trim();
70
+ return text.length > maxLen ? `${text.slice(0, maxLen - 3)}...` : text;
71
+ }
72
+ // fields event: join key=value pairs
73
+ const pairs = Object.entries(event.fields)
74
+ .filter(([k]) => k !== "ts" && k !== "timestamp")
75
+ .map(([k, v]) => `${k}=${v}`)
76
+ .join(", ");
77
+ return pairs.length > maxLen ? `${pairs.slice(0, maxLen - 3)}...` : pairs;
78
+ }
79
+ /** Extract timestamp from a raw JSON line (not decoded event). */
80
+ function extractTimestamp(line) {
81
+ return extractField(line, "timestamp") || extractField(line, "ts") || "";
82
+ }
83
+ /** Format an ISO timestamp to HH:MM:SS local time. */
84
+ function formatTime(isoTs) {
85
+ if (!isoTs)
86
+ return "--:--:--";
87
+ try {
88
+ const d = new Date(isoTs);
89
+ if (Number.isNaN(d.getTime()))
90
+ return "--:--:--";
91
+ return d.toLocaleTimeString("en-GB", {
92
+ hour: "2-digit",
93
+ minute: "2-digit",
94
+ second: "2-digit",
95
+ hour12: false,
96
+ });
97
+ }
98
+ catch {
99
+ return "--:--:--";
100
+ }
101
+ }
102
+ /** Format a single event into a one-line string with color. */
103
+ export function eventOneLiner(line, event, maxWidth = 120) {
104
+ const ts = formatTime(extractTimestamp(line));
105
+ const cat = topicCategory(event.topic);
106
+ const colors = CATEGORY_COLORS[cat] ?? ["dim"];
107
+ const topicStr = event.topic.padEnd(20);
108
+ const summaryBudget = Math.max(20, maxWidth - 10 - 20 - 4);
109
+ const summary = eventSummary(event, summaryBudget);
110
+ return ` ${color(ts, "dim")} ${color(topicStr, ...colors)} ${summary}`;
111
+ }
112
+ /**
113
+ * Format an array of raw journal lines into a grouped, colored timeline string.
114
+ * Groups events by iteration, with separator lines.
115
+ */
116
+ export function formatTimeline(lines, opts = {}) {
117
+ const { topics, iterFilter, maxWidth = 120 } = opts;
118
+ const output = [];
119
+ let currentIter = "";
120
+ let matched = 0;
121
+ for (const line of lines) {
122
+ const event = decodeEvent(line);
123
+ if (!event)
124
+ continue;
125
+ // Apply topic filter
126
+ if (topics && topics.length > 0) {
127
+ if (!topics.some((t) => topicMatchesFilter(event.topic, t)))
128
+ continue;
129
+ }
130
+ // Apply iteration filter
131
+ const iter = event.iteration ?? "";
132
+ if (iterFilter && iter !== iterFilter)
133
+ continue;
134
+ // Iteration grouping header
135
+ const iterLabel = iter || "system";
136
+ if (iterLabel !== currentIter) {
137
+ currentIter = iterLabel;
138
+ const sep = `\u2500\u2500 iter ${iterLabel} `.padEnd(60, "\u2500");
139
+ output.push("");
140
+ output.push(color(sep, "dim"));
141
+ }
142
+ output.push(eventOneLiner(line, event, maxWidth));
143
+ matched++;
144
+ }
145
+ if (matched === 0) {
146
+ if (topics || iterFilter) {
147
+ return "No events match the given filters.";
148
+ }
149
+ return "No journal events found.";
150
+ }
151
+ return output.join("\n");
152
+ }
153
+ //# sourceMappingURL=journal-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journal-format.js","sourceRoot":"","sources":["../../src/harness/journal-format.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export declare function appendEvent(path: string, runId: string, iteration: string, topic: string, fieldsJson: string): void;
2
2
  export declare function appendAgentEvent(path: string, runId: string, iteration: string, topic: string, payload: string): void;
3
3
  export declare function appendHarnessEvent(path: string, runId: string, iteration: string, topic: string, payload: string): void;
4
+ export declare function appendOperatorEvent(path: string, runId: string, iteration: string, topic: string, payload: string): void;
4
5
  export declare function readLines(path: string): string[];
5
6
  export declare function readRunLines(path: string, runId: string): string[];
6
7
  export declare function extractTopic(line: string): string;
@@ -19,6 +19,9 @@ export function appendAgentEvent(path, runId, iteration, topic, payload) {
19
19
  export function appendHarnessEvent(path, runId, iteration, topic, payload) {
20
20
  appendEmittedEvent(path, runId, iteration, topic, payload, "harness");
21
21
  }
22
+ export function appendOperatorEvent(path, runId, iteration, topic, payload) {
23
+ appendEmittedEvent(path, runId, iteration, topic, payload, "operator");
24
+ }
22
25
  function appendEmittedEvent(path, runId, iteration, topic, payload, source) {
23
26
  appendText(path, encodeEvent({
24
27
  shape: "payload",
@@ -1 +1 @@
1
- {"version":3,"file":"journal.js","sourceRoot":"","sources":["../../src/harness/journal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal.js","sourceRoot":"","sources":["../../src/harness/journal.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
+ import { runKiroIterationSync } from "../backend/kiro-bridge.js";
1
2
  import { jsonBool, jsonField, jsonFieldRaw } from "../json.js";
2
3
  import { reloadLoop } from "./config-helpers.js";
3
4
  import { printReviewBanner } from "./display.js";
4
5
  import { appendEvent, readRunLines } from "./journal.js";
5
6
  import { buildReviewCommand, runProcess } from "./parallel.js";
6
7
  import { renderReviewPromptText } from "./prompt.js";
7
- import { runKiroIterationSync } from "../backend/kiro-bridge.js";
8
8
  export function maybeRunMetareview(loop, iteration) {
9
9
  if (shouldRunMetareview(loop, iteration)) {
10
10
  runMetareviewReview(loop, iteration);
@@ -1 +1 @@
1
- {"version":3,"file":"metareview.js","sourceRoot":"","sources":["../../src/harness/metareview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metareview.js","sourceRoot":"","sources":["../../src/harness/metareview.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ interface DerivedRunContext {
23
23
  done: number;
24
24
  total: number;
25
25
  };
26
+ guidanceMessages: string[];
26
27
  routing: RoutingContext;
27
28
  backpressure: string;
28
29
  invalidCount: number;
@@ -41,4 +42,5 @@ export declare function invalidEventCount(runLines: string[]): number;
41
42
  export declare function lastRejectedTopic(runLines: string[]): string;
42
43
  export declare function renderIterationPromptText(loop: LoopContext, iteration: number, derived: DerivedRunContext): string;
43
44
  export declare function renderReviewPromptText(loop: LoopContext, iteration: number, runLines: string[]): string;
45
+ export declare function drainGuidance(runLines: string[]): string[];
44
46
  export {};
@@ -1,11 +1,11 @@
1
+ import { resolveRoleAgent } from "../agent-map.js";
1
2
  import * as memory from "../memory.js";
2
3
  import { materialize as materializeTasks } from "../tasks.js";
3
4
  import { renderTasksPrompt } from "../tasks-render.js";
4
5
  import * as topology from "../topology.js";
5
6
  import { joinCsv, listText } from "../utils.js";
6
7
  import { coordinationTopic, coreSystemTopic, parallelTopic, reservedParallelJoinedTopic, routingTopic, systemTopic, } from "./emit.js";
7
- import { resolveRoleAgent } from "../agent-map.js";
8
- import { extractField, extractIteration, extractTopic, readLines, readRunLines, } from "./journal.js";
8
+ import { appendHarnessEvent, extractField, extractIteration, extractTopic, readLines, readRunLines, } from "./journal.js";
9
9
  import { renderRunScratchpadPrompt } from "./scratchpad.js";
10
10
  function deriveRunContext(loop, runLines) {
11
11
  const taskLines = readLines(loop.paths.tasksFile);
@@ -21,6 +21,7 @@ function deriveRunContext(loop, runLines) {
21
21
  done: tasksMaterialized.done.length,
22
22
  total: tasksMaterialized.open.length + tasksMaterialized.done.length,
23
23
  },
24
+ guidanceMessages: drainGuidance(runLines),
24
25
  routing: iterationRoutingContext(loop.topology, runLines),
25
26
  backpressure: latestInvalidNote(runLines),
26
27
  invalidCount: invalidEventCount(runLines),
@@ -30,8 +31,14 @@ function deriveRunContext(loop, runLines) {
30
31
  export function buildIterationContext(loop, iteration) {
31
32
  const runLines = readRunLines(loop.paths.journalFile, loop.runtime.runId);
32
33
  const derived = deriveRunContext(loop, runLines);
33
- const activeRole = derived.routing.allowedRoles.length === 1 ? derived.routing.allowedRoles[0] : "";
34
+ const activeRole = derived.routing.allowedRoles.length === 1
35
+ ? derived.routing.allowedRoles[0]
36
+ : "";
34
37
  const roleAgent = resolveRoleAgent(loop.agentMap, loop.launch.preset, activeRole) || "";
38
+ const prompt = renderIterationPromptText(loop, iteration, derived);
39
+ if (derived.guidanceMessages.length > 0) {
40
+ appendHarnessEvent(loop.paths.journalFile, loop.runtime.runId, String(iteration), "operator.guidance.consumed", `Consumed ${derived.guidanceMessages.length} guidance message(s)`);
41
+ }
35
42
  return {
36
43
  iteration,
37
44
  recentEvent: derived.routing.recentEvent,
@@ -41,7 +48,7 @@ export function buildIterationContext(loop, iteration) {
41
48
  lastRejected: derived.lastRejected,
42
49
  scratchpadText: derived.scratchpadText,
43
50
  memoryText: derived.memoryText,
44
- prompt: renderIterationPromptText(loop, iteration, derived),
51
+ prompt,
45
52
  roleAgent,
46
53
  };
47
54
  }
@@ -174,7 +181,7 @@ export function lastRejectedTopic(runLines) {
174
181
  return last;
175
182
  }
176
183
  export function renderIterationPromptText(loop, iteration, derived) {
177
- const { routing, backpressure, memoryStats, memoryText, tasksText, tasksStats, scratchpadText, invalidCount, lastRejected, } = derived;
184
+ const { routing, backpressure, memoryStats, memoryText, tasksText, tasksStats, guidanceMessages, scratchpadText, invalidCount, lastRejected, } = derived;
178
185
  const { allowedRoles, allowedEvents, recentEvent } = routing;
179
186
  return ("You are inside a bare-minimal autoloops harness.\n\n" +
180
187
  harnessInstructionsText(loop) +
@@ -183,6 +190,7 @@ export function renderIterationPromptText(loop, iteration, derived) {
183
190
  "Objective:\n" +
184
191
  loop.objective +
185
192
  "\n\n" +
193
+ renderGuidanceSection(guidanceMessages) +
186
194
  (memoryText ? `${memoryText}\n` : "") +
187
195
  (tasksText ? `${tasksText}\n` : "") +
188
196
  topology.renderWithContext(loop.topology, recentEvent, allowedRoles, allowedEvents) +
@@ -231,7 +239,7 @@ export function renderIterationPromptText(loop, iteration, derived) {
231
239
  }
232
240
  export function renderReviewPromptText(loop, iteration, runLines) {
233
241
  const derived = deriveRunContext(loop, runLines);
234
- const { scratchpadText, memoryText, tasksText, memoryStats, tasksStats, routing, backpressure, invalidCount, lastRejected, } = derived;
242
+ const { scratchpadText, memoryText, tasksText, memoryStats, tasksStats, guidanceMessages, routing, backpressure, invalidCount, lastRejected, } = derived;
235
243
  const latestIteration = String(maxReviewPromptIteration(runLines));
236
244
  return ("You are the metareview meta-reviewer for this loop.\n\n" +
237
245
  "Your job is to improve the loop itself, not to finish the task directly.\n" +
@@ -245,6 +253,7 @@ export function renderReviewPromptText(loop, iteration, runLines) {
245
253
  reviewInstructionsText(loop) +
246
254
  contextPressureText(memoryStats, tasksStats, invalidCount, lastRejected) +
247
255
  backpressureText(backpressure) +
256
+ renderGuidanceSection(guidanceMessages) +
248
257
  (memoryText ? `${memoryText}\n` : "") +
249
258
  (tasksText ? `${tasksText}\n` : "") +
250
259
  `Review trigger iteration: ${iteration}\n` +
@@ -271,6 +280,36 @@ export function renderReviewPromptText(loop, iteration, runLines) {
271
280
  " --format text\n\n" +
272
281
  "If no improvements are needed, store a short learning explaining why and exit cleanly.\n");
273
282
  }
283
+ export function drainGuidance(runLines) {
284
+ // Find the index of the last operator.guidance.consumed marker
285
+ let consumedIdx = -1;
286
+ for (let i = runLines.length - 1; i >= 0; i--) {
287
+ if (extractTopic(runLines[i]) === "operator.guidance.consumed") {
288
+ consumedIdx = i;
289
+ break;
290
+ }
291
+ }
292
+ // Collect all operator.guidance events after the last consumed marker
293
+ const messages = [];
294
+ for (let i = consumedIdx + 1; i < runLines.length; i++) {
295
+ if (extractTopic(runLines[i]) === "operator.guidance") {
296
+ const payload = extractField(runLines[i], "payload");
297
+ if (payload)
298
+ messages.push(payload);
299
+ }
300
+ }
301
+ return messages;
302
+ }
303
+ function renderGuidanceSection(guidance) {
304
+ if (guidance.length === 0)
305
+ return "";
306
+ const body = guidance.length === 1
307
+ ? guidance[0]
308
+ : guidance.map((g, i) => `${i + 1}. ${g}`).join("\n");
309
+ return ("## OPERATOR GUIDANCE\n\n" +
310
+ body +
311
+ "\n\n\u26a0\ufe0f Act on this guidance in this iteration. It will not be repeated.\n\n");
312
+ }
274
313
  function harnessInstructionsText(loop) {
275
314
  if (!loop.harness.instructions)
276
315
  return "";