@rudderhq/agent-runtime-utils 0.7.10 → 0.7.12

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 (58) hide show
  1. package/dist/index.d.ts +3 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/native-command.d.ts +12 -0
  6. package/dist/native-command.d.ts.map +1 -0
  7. package/dist/native-command.js +13 -0
  8. package/dist/native-command.js.map +1 -0
  9. package/dist/native-command.test.d.ts +2 -0
  10. package/dist/native-command.test.d.ts.map +1 -0
  11. package/dist/native-command.test.js +23 -0
  12. package/dist/native-command.test.js.map +1 -0
  13. package/dist/native-process-runner.d.ts +35 -0
  14. package/dist/native-process-runner.d.ts.map +1 -0
  15. package/dist/native-process-runner.js +635 -0
  16. package/dist/native-process-runner.js.map +1 -0
  17. package/dist/native-process-runner.test.d.ts +2 -0
  18. package/dist/native-process-runner.test.d.ts.map +1 -0
  19. package/dist/native-process-runner.test.js +301 -0
  20. package/dist/native-process-runner.test.js.map +1 -0
  21. package/dist/network-suspension.d.ts +22 -0
  22. package/dist/network-suspension.d.ts.map +1 -0
  23. package/dist/network-suspension.js +97 -0
  24. package/dist/network-suspension.js.map +1 -0
  25. package/dist/network-suspension.test.d.ts +2 -0
  26. package/dist/network-suspension.test.d.ts.map +1 -0
  27. package/dist/network-suspension.test.js +41 -0
  28. package/dist/network-suspension.test.js.map +1 -0
  29. package/dist/rudder-mcp-contract.d.ts +19 -1
  30. package/dist/rudder-mcp-contract.d.ts.map +1 -1
  31. package/dist/rudder-mcp-contract.js +47 -2
  32. package/dist/rudder-mcp-contract.js.map +1 -1
  33. package/dist/rudder-mcp-tool-descriptors.generated.d.ts +17 -1
  34. package/dist/rudder-mcp-tool-descriptors.generated.d.ts.map +1 -1
  35. package/dist/rudder-mcp-tool-descriptors.generated.js +19 -1
  36. package/dist/rudder-mcp-tool-descriptors.generated.js.map +1 -1
  37. package/dist/server-utils.cli.d.ts.map +1 -1
  38. package/dist/server-utils.cli.js +5 -2
  39. package/dist/server-utils.cli.js.map +1 -1
  40. package/dist/server-utils.instructions.d.ts +2 -3
  41. package/dist/server-utils.instructions.d.ts.map +1 -1
  42. package/dist/server-utils.instructions.js +6 -13
  43. package/dist/server-utils.instructions.js.map +1 -1
  44. package/dist/server-utils.process.d.ts +3 -0
  45. package/dist/server-utils.process.d.ts.map +1 -1
  46. package/dist/server-utils.process.js +64 -1
  47. package/dist/server-utils.process.js.map +1 -1
  48. package/dist/server-utils.prompts.d.ts +4 -3
  49. package/dist/server-utils.prompts.d.ts.map +1 -1
  50. package/dist/server-utils.prompts.js +184 -16
  51. package/dist/server-utils.prompts.js.map +1 -1
  52. package/dist/server-utils.prompts.test.js +130 -6
  53. package/dist/server-utils.prompts.test.js.map +1 -1
  54. package/dist/server-utils.test.js +50 -23
  55. package/dist/server-utils.test.js.map +1 -1
  56. package/dist/types.d.ts +30 -2
  57. package/dist/types.d.ts.map +1 -1
  58. package/package.json +4 -1
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { AGENT_ISSUE_CREATION_PROMPT_TEMPLATE, COMMENT_MENTION_PROMPT_TEMPLATE, DEFAULT_AGENT_PROMPT_TEMPLATE, GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE, GOAL_FEEDBACK_PROMPT_TEMPLATE, GOAL_STARTED_PROMPT_TEMPLATE, ISSUE_ASSIGN_PROMPT_TEMPLATE, ISSUE_ASSIGNEE_EXECUTION_RAIL, ISSUE_CHANGES_REQUESTED_PROMPT_TEMPLATE, ISSUE_COMMENTED_PROMPT_TEMPLATE, ISSUE_PASSIVE_FOLLOWUP_PROMPT_TEMPLATE, ISSUE_RECOVERY_PROMPT_TEMPLATE, ISSUE_REVIEW_PROMPT_TEMPLATE, ISSUE_REVIEW_RECOVERY_PROMPT_TEMPLATE, RECOVERY_PROMPT_TEMPLATE, renderTemplate, RUDDER_AGENT_HEARTBEAT_INSTRUCTION, RUDDER_AGENT_OPERATING_CONTRACT, selectPromptTemplate, } from "./server-utils.js";
2
+ import { AGENT_ISSUE_CREATION_PROMPT_TEMPLATE, COMMENT_MENTION_PROMPT_TEMPLATE, DEFAULT_AGENT_PROMPT_TEMPLATE, GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE, GOAL_CONTINUATION_PROMPT_TEMPLATE, GOAL_FEEDBACK_PROMPT_TEMPLATE, GOAL_STARTED_PROMPT_TEMPLATE, ISSUE_ASSIGN_PROMPT_TEMPLATE, ISSUE_ASSIGNEE_EXECUTION_RAIL, ISSUE_CHANGES_REQUESTED_PROMPT_TEMPLATE, ISSUE_COMMENTED_PROMPT_TEMPLATE, ISSUE_PASSIVE_FOLLOWUP_PROMPT_TEMPLATE, ISSUE_RECOVERY_PROMPT_TEMPLATE, ISSUE_REVIEW_PROMPT_TEMPLATE, ISSUE_REVIEW_RECOVERY_PROMPT_TEMPLATE, RECOVERY_PROMPT_TEMPLATE, renderTemplate, RUDDER_AGENT_HEARTBEAT_INSTRUCTION, RUDDER_AGENT_OPERATING_CONTRACT, selectPromptTemplate, } from "./server-utils.js";
3
3
  describe("server-utils prompt contracts", () => {
4
4
  it("selects the dedicated single-issue prompt for Agent Issue creation wakes", () => {
5
5
  const context = {
@@ -72,19 +72,92 @@ describe("server-utils prompt contracts", () => {
72
72
  GOAL_STARTED_PROMPT_TEMPLATE,
73
73
  GOAL_FEEDBACK_PROMPT_TEMPLATE,
74
74
  GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE,
75
+ GOAL_CONTINUATION_PROMPT_TEMPLATE,
75
76
  ]) {
76
77
  expect(template).toContain("This is a Rudder product Goal, not a Codex internal goal.");
77
78
  expect(template).toContain("Do not call Codex `create_goal`, `update_goal`, or `get_goal`");
79
+ expect(template).toContain("call `rudder_goal_context` once");
80
+ expect(template).toContain("contract, current Plan, continuation");
78
81
  expect(template).toContain("call that typed tool directly");
79
82
  expect(template).toContain("Do not load `rudder-docs`, inspect skill files, or run discovery commands");
80
- expect(template).toContain("instead of using shell, Bash, curl, or the `rudder` CLI");
83
+ expect(template).toContain("Do not use shell, Bash, curl, or the `rudder` CLI");
81
84
  expect(template).toContain("`rudder_goal_progress`");
82
85
  expect(template).toContain("`rudder_goal_change_propose`");
83
86
  expect(template).toContain("`rudder_goal_result_propose`");
84
87
  expect(template).toContain("automatically attributes progress to this Run");
85
88
  expect(template).toContain("A human must accept every terminal Goal result.");
89
+ expect(template).toContain("Never claim that a Plan, wait, review, Checkpoint, proposal, or transition was persisted");
86
90
  }
87
91
  });
92
+ it("drives every Goal wake through the complete advancement phase router", () => {
93
+ for (const template of [
94
+ GOAL_STARTED_PROMPT_TEMPLATE,
95
+ GOAL_FEEDBACK_PROMPT_TEMPLATE,
96
+ GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE,
97
+ GOAL_CONTINUATION_PROMPT_TEMPLATE,
98
+ ]) {
99
+ expect(template).toContain("## Goal Advancement Protocol");
100
+ expect(template).toContain("### Phase 1 - Reconstruct the current state");
101
+ expect(template).toContain("### Phase 2 - Check that the Goal is executable");
102
+ expect(template).toContain("### Phase 3 - Plan or Replan");
103
+ expect(template).toContain("### Phase 4 - Run an optional Plan or Replan review");
104
+ expect(template).toContain("### Phase 5 - Execute one bounded commitment");
105
+ expect(template).toContain("### Phase 6 - Observe and checkpoint");
106
+ expect(template).toContain("When `rudder_goal_checkpoint` is available, call `rudder_goal_checkpoint` exactly once for this bounded Run");
107
+ expect(template).toContain("### Phase 7 - Choose exactly one primary continuation route");
108
+ expect(template).toContain("### Phase 8 - Audit a possible block");
109
+ expect(template).toContain("### Phase 9 - Review and propose the result");
110
+ expect(template).toContain("### Required turn closeout");
111
+ }
112
+ });
113
+ it("keeps Plan ownership, review authority, Contract changes, and result acceptance distinct", () => {
114
+ for (const template of [
115
+ GOAL_STARTED_PROMPT_TEMPLATE,
116
+ GOAL_FEEDBACK_PROMPT_TEMPLATE,
117
+ GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE,
118
+ GOAL_CONTINUATION_PROMPT_TEMPLATE,
119
+ ]) {
120
+ expect(template).toContain("Plan and Replan changes remain Agent-owned");
121
+ expect(template).toContain("They do not silently revise the Goal Contract.");
122
+ expect(template).toContain("label the proposed strategy as Run-local and unpersisted");
123
+ expect(template).toContain("do not imply that Rudder will resume it automatically");
124
+ expect(template).toContain("Invoke a Plan/Replan review only when the Contract, continuation, risk policy, or explicit human instruction requires it");
125
+ expect(template).toContain("A Reviewer returns findings; it does not become the Goal Owner");
126
+ expect(template).toContain("If review is required but no review mechanism is available, report that exact unpersisted gate.");
127
+ expect(template).toContain("Continue under the existing Contract until a human-applied decision says otherwise.");
128
+ expect(template).toContain("Stop execution while a Result Proposal is ready for human Acceptance.");
129
+ }
130
+ });
131
+ it("requires a materially different Replan before a three-turn blocked conclusion", () => {
132
+ for (const template of [
133
+ GOAL_STARTED_PROMPT_TEMPLATE,
134
+ GOAL_FEEDBACK_PROMPT_TEMPLATE,
135
+ GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE,
136
+ GOAL_CONTINUATION_PROMPT_TEMPLATE,
137
+ ]) {
138
+ expect(template).toContain("Do not mark or claim the Goal blocked the first time a blocker appears.");
139
+ expect(template).toContain("If the same blocker persists for three consecutive Goal turns, first perform a Replan audit");
140
+ expect(template).toContain("If Replan finds a viable path, continue through that path.");
141
+ expect(template).toContain("Resuming after a blocked conclusion starts a fresh three-turn audit.");
142
+ expect(template).toContain("no blocker fingerprint schema is required");
143
+ expect(template).toContain("Missing context is not by itself a validated blocked conclusion.");
144
+ }
145
+ });
146
+ it("gives each real Goal wake a concrete entry and same-turn advancement rule", () => {
147
+ expect(GOAL_STARTED_PROMPT_TEMPLATE).toContain("## Wake Entry - Goal Started");
148
+ expect(GOAL_STARTED_PROMPT_TEMPLATE).toContain("Start at Plan/Replan because activation already confirmed the Contract.");
149
+ expect(GOAL_STARTED_PROMPT_TEMPLATE).toContain("Do not finish by merely restating the Goal or producing a Plan");
150
+ expect(GOAL_FEEDBACK_PROMPT_TEMPLATE).toContain("## Wake Entry - Goal Feedback");
151
+ expect(GOAL_FEEDBACK_PROMPT_TEMPLATE).toContain("new fact or Evidence -> observe and checkpoint");
152
+ expect(GOAL_FEEDBACK_PROMPT_TEMPLATE).toContain("Do not merely acknowledge feedback");
153
+ expect(GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE).toContain("## Wake Entry - Goal Change Decision");
154
+ expect(GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE).toContain("If the decision is approved and applied");
155
+ expect(GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE).toContain("If the proposal was rejected, preserve the current Contract");
156
+ expect(GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE).toContain("Acknowledging the decision alone is not advancement");
157
+ expect(GOAL_CONTINUATION_PROMPT_TEMPLATE).toContain("## Wake Entry - Goal Continuation");
158
+ expect(GOAL_CONTINUATION_PROMPT_TEMPLATE).toContain("persisted a checkpoint");
159
+ expect(GOAL_CONTINUATION_PROMPT_TEMPLATE).toContain("Do not replay the prior action blindly");
160
+ });
88
161
  it("renders a Goal start wake with the outcome, current contract, and continuation", () => {
89
162
  const context = {
90
163
  wakeReason: "goal_started",
@@ -101,6 +174,10 @@ describe("server-utils prompt contracts", () => {
101
174
  summary: "Run the public installation verification.",
102
175
  wakeCondition: null,
103
176
  },
177
+ goalPlan: {
178
+ revision: 1,
179
+ summary: "Verify the public installer before proposing a result.",
180
+ },
104
181
  };
105
182
  const template = selectPromptTemplate(undefined, context);
106
183
  const rendered = renderTemplate(template, {
@@ -113,7 +190,10 @@ describe("server-utils prompt contracts", () => {
113
190
  expect(rendered).toContain("**Goal ID:** goal-started-1");
114
191
  expect(rendered).toContain("Customers can install the verified release.");
115
192
  expect(rendered).toContain('"contractRevision":3');
193
+ expect(rendered).toContain('"revision":1');
194
+ expect(rendered).toContain("Verify the public installer before proposing a result.");
116
195
  expect(rendered).toContain("action: Run the public installation verification.");
196
+ expect(rendered).toContain("Validate and use the persisted initial Plan before replacing it.");
117
197
  expect(rendered).not.toContain("Continue your Rudder work.");
118
198
  });
119
199
  it("renders a Goal feedback wake with runtime feedback body and id", () => {
@@ -132,6 +212,10 @@ describe("server-utils prompt contracts", () => {
132
212
  summary: "Repeat the restart acceptance run.",
133
213
  wakeCondition: null,
134
214
  },
215
+ goalPlan: {
216
+ revision: 4,
217
+ summary: "Exercise restart recovery and compare the runtime identity.",
218
+ },
135
219
  goalFeedback: {
136
220
  id: "feedback-77",
137
221
  body: "Verify the restart path before proposing completion.",
@@ -148,11 +232,42 @@ describe("server-utils prompt contracts", () => {
148
232
  expect(rendered).toContain("New feedback requires your review on a Goal you own.");
149
233
  expect(rendered).toContain("Goal activation remains reliable after restart.");
150
234
  expect(rendered).toContain('"contractRevision":5');
235
+ expect(rendered).toContain('"revision":4');
236
+ expect(rendered).toContain("Exercise restart recovery and compare the runtime identity.");
151
237
  expect(rendered).toContain("verification: Repeat the restart acceptance run.");
152
238
  expect(rendered).toContain("**Feedback ID:** feedback-77");
153
239
  expect(rendered).toContain("Verify the restart path before proposing completion.");
154
240
  expect(rendered).not.toContain("Continue your Rudder work.");
155
241
  });
242
+ it("routes a continuation wake with checkpoint facts into the same advancement protocol", () => {
243
+ const context = {
244
+ wakeReason: "goal_continuation",
245
+ goal: {
246
+ id: "goal-continuation-1",
247
+ title: "Verify the next bounded release step",
248
+ outcomeStatement: "The release remains verifiable across runs.",
249
+ contractRevision: 2,
250
+ },
251
+ goalPlan: { revision: 3, summary: "Run the recovery verification." },
252
+ goalContinuation: { kind: "verification", summary: "Repeat the recovery check.", wakeCondition: null },
253
+ goalCheckpoint: {
254
+ id: "checkpoint-9",
255
+ summary: "Persisted recovery evidence and queued the next verification.",
256
+ evidenceRefs: ["artifact://release/recovery"],
257
+ planRevision: 3,
258
+ },
259
+ };
260
+ const template = selectPromptTemplate(undefined, context);
261
+ const rendered = renderTemplate(template, {
262
+ agent: { id: "agent-continuation-owner", name: "Owner" },
263
+ context,
264
+ });
265
+ expect(template).toContain("## Wake Entry - Goal Continuation");
266
+ expect(rendered).toContain("## Wake Entry - Goal Continuation");
267
+ expect(rendered).toContain("Persisted recovery evidence and queued the next verification.");
268
+ expect(rendered).toContain('"revision":3');
269
+ expect(rendered).toContain("Repeat the recovery check.");
270
+ });
156
271
  it("selects the Goal prompt when only a nested payload indicates the wake kind", () => {
157
272
  const context = {
158
273
  payload: {
@@ -197,6 +312,10 @@ describe("server-utils prompt contracts", () => {
197
312
  kind: "action",
198
313
  summary: "Continue with the approved release boundary.",
199
314
  },
315
+ goalPlan: {
316
+ revision: 2,
317
+ summary: "Verify installation and rollback against the accepted candidate.",
318
+ },
200
319
  goalDecision: {
201
320
  proposalId: "proposal-1",
202
321
  decision: "approve",
@@ -213,6 +332,8 @@ describe("server-utils prompt contracts", () => {
213
332
  expect(GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE).toContain("## Goal Change Decision");
214
333
  expect(rendered).toContain("A human decided a proposed change");
215
334
  expect(rendered).toContain('"contractRevision":4');
335
+ expect(rendered).toContain('"revision":2');
336
+ expect(rendered).toContain("Verify installation and rollback against the accepted candidate.");
216
337
  expect(rendered).toContain("**Decision:** approve");
217
338
  expect(rendered).toContain("**Decision status:** applied");
218
339
  expect(rendered).toContain("Keep rollback evidence visible in the final result.");
@@ -224,7 +345,7 @@ describe("server-utils prompt contracts", () => {
224
345
  payload: { event: "daily_check" },
225
346
  })).toBe(DEFAULT_AGENT_PROMPT_TEMPLATE);
226
347
  });
227
- it("turns missing Goal context into a named blocker instead of a retrieval instruction", () => {
348
+ it("uses managed Goal context for missing wake facts without inventing a blocked conclusion", () => {
228
349
  const rendered = renderTemplate(selectPromptTemplate(undefined, {
229
350
  wakeReason: "goal_feedback",
230
351
  goal: { id: "goal-missing-context" },
@@ -232,11 +353,14 @@ describe("server-utils prompt contracts", () => {
232
353
  agent: { id: "agent-missing-context", name: "Fallback Guard" },
233
354
  context: {},
234
355
  });
235
- expect(rendered).toContain("report the missing outcome as a named blocker");
236
- expect(rendered).toContain("report the missing continuation as a named blocker");
237
- expect(rendered).toContain("report the missing feedback body as a named blocker");
356
+ expect(rendered).toContain("load managed Goal context once; otherwise report the missing outcome");
357
+ expect(rendered).toContain("load managed Goal context once; otherwise report the missing current Plan");
358
+ expect(rendered).toContain("load managed Goal context once; otherwise report the missing continuation");
359
+ expect(rendered).toContain("load managed Goal context once; otherwise report the missing feedback body");
360
+ expect(rendered).toContain("Missing context is not by itself a validated blocked conclusion.");
238
361
  expect(rendered).not.toContain("load the Goal's current");
239
362
  expect(rendered).not.toContain("load the triggering feedback entry");
363
+ expect(rendered).toContain("Do not use shell, Bash, curl, or the `rudder` CLI to read or mutate Goal state");
240
364
  });
241
365
  it("renders explicit issue ownership and timestamp metadata for issue-aware wakes", () => {
242
366
  const issue = {
@@ -1 +1 @@
1
- {"version":3,"file":"server-utils.prompts.test.js","sourceRoot":"","sources":["../src/server-utils.prompts.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-utils.prompts.test.js","sourceRoot":"","sources":["../src/server-utils.prompts.test.ts"],"names":[],"mappings":"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"}
@@ -877,12 +877,45 @@ describe("selectPromptTemplate", () => {
877
877
  expect(mentionPrompt).toContain("not an automatic transfer of issue ownership");
878
878
  });
879
879
  });
880
+ describe("renderTemplate short references", () => {
881
+ it("renders agent-facing entity UUIDs as typed short refs while preserving non-UUID values", () => {
882
+ const agentId = "d573266f-af95-44e6-9303-e903a54662b8";
883
+ const runId = "609695f1-f90a-4b17-be61-4f0c6fe37c42";
884
+ const issueId = "4a6dcb93-e3b8-4ab8-a56e-8ad9bc5e24a2";
885
+ const commentId = "091492ab-3d85-4fcb-b066-1db769eed56d";
886
+ const goalId = "14ff96a7-2518-456a-8aae-480360f0d9aa";
887
+ const projectId = "c9623d48-0f8f-4fb0-965d-2ab264f5e55d";
888
+ const userId = "f2131f87-d8f0-4e43-b955-161c2ac12c46";
889
+ const messageId = "8cbac610-f182-4dae-81dc-03ee6a156deb";
890
+ const rendered = renderTemplate([
891
+ "{{agent.id}}",
892
+ "{{context.recovery.originalRunId}}",
893
+ "{{issue.id}}",
894
+ "{{comment.id}}",
895
+ "{{context.goalRuntime.goalId}}",
896
+ "{{context.agentIssueCreationRequest.projectId}}",
897
+ "{{context.agentIssueCreationRequest.requestedByUserId}}",
898
+ "{{context.messageId}}",
899
+ "{{context.customId}}",
900
+ ].join("|"), {
901
+ agent: { id: agentId },
902
+ issue: { id: issueId },
903
+ comment: { id: commentId },
904
+ context: {
905
+ recovery: { originalRunId: runId },
906
+ goalRuntime: { goalId },
907
+ agentIssueCreationRequest: { projectId, requestedByUserId: userId },
908
+ messageId,
909
+ customId: "legacy-identifier",
910
+ },
911
+ });
912
+ expect(rendered).toBe("agt_d573266f|run_609695f1|iss_4a6dcb93|cmt_091492ab|gol_14ff96a7|prj_c9623d48|usr_f2131f87|msg_8cbac610|legacy-identifier");
913
+ });
914
+ });
880
915
  describe("loadAgentInstructionsPrefix", () => {
881
916
  it("loads the runtime operating contract without an instruction file", async () => {
882
- const currentTime = new Date("2026-06-15T12:34:56.789Z");
883
917
  const loaded = await loadAgentInstructionsPrefix({
884
918
  instructionsFilePath: "",
885
- currentTime,
886
919
  onLog: async () => { },
887
920
  });
888
921
  expect(loaded.prefix).toContain("# Rudder Agent Operating Contract");
@@ -918,10 +951,9 @@ describe("loadAgentInstructionsPrefix", () => {
918
951
  expect(loaded.prefix).toContain("plain text agent names are not wake requests");
919
952
  expect(loaded.prefix).toContain("Use wake-intent links only when you intentionally want to wake another agent");
920
953
  expect(loaded.prefix).toContain("attach the image with the Rudder CLI `--image <path>` option");
921
- expect(loaded.prefix).toContain("## Current Time");
922
- expect(loaded.prefix).toContain("Instruction load time: 2026-06-15T12:34:56.789Z.");
923
- expect(loaded.prefix).toContain("Treat this as the current time for this run");
924
- expect(loaded.prefix).toMatch(/## Current Time[\s\S]*fresher timestamp\.$/);
954
+ expect(loaded.prefix).not.toContain("## Current Time");
955
+ expect(loaded.prefix).not.toContain("Instruction load time:");
956
+ expect(loaded.prefix).not.toContain("Treat this as the current time for this run");
925
957
  expect(loaded.commandNotes).toEqual(["Loaded Rudder agent operating contract from runtime code"]);
926
958
  expect(loaded.readFailed).toBe(false);
927
959
  expect(loaded.memoryFilePath).toBeNull();
@@ -1014,7 +1046,6 @@ describe("loadAgentInstructionsPrefix", () => {
1014
1046
  try {
1015
1047
  const loaded = await loadAgentInstructionsPrefix({
1016
1048
  instructionsFilePath: instructionsPath,
1017
- currentTime: new Date("2026-06-15T23:45:00.000Z"),
1018
1049
  onLog: async () => { },
1019
1050
  });
1020
1051
  expect(loaded.prefix).toContain("# Agent Instructions");
@@ -1022,10 +1053,10 @@ describe("loadAgentInstructionsPrefix", () => {
1022
1053
  expect(loaded.prefix).toContain("# Tools");
1023
1054
  expect(loaded.prefix).toContain("# Tacit Memory");
1024
1055
  expect(loaded.prefix).not.toContain("# Heartbeat");
1025
- expect(loaded.prefix.indexOf("# Tacit Memory")).toBeLessThan(loaded.prefix.indexOf("## Current Time"));
1056
+ expect(loaded.prefix).not.toContain("## Current Time");
1026
1057
  expect(loaded.prefix).toContain("The above AGENTS.md, SOUL.md, TOOLS.md, MEMORY.md instruction files were loaded from $AGENT_HOME/instructions.");
1027
1058
  expect(loaded.prefix.match(/Resolve any relative file references from \$AGENT_HOME\/instructions\/\./g)).toHaveLength(1);
1028
- expect(loaded.prefix).toMatch(/## Current Time\n\nInstruction load time: 2026-06-15T23:45:00\.000Z\.[\s\S]*fresher timestamp\.$/);
1059
+ expect(loaded.prefix).not.toContain("Instruction load time:");
1029
1060
  expect(loaded.commandNotes).toContain("Loaded agent instructions from $AGENT_HOME/instructions/AGENTS.md");
1030
1061
  expect(loaded.commandNotes).toContain("Loaded agent soul instructions from $AGENT_HOME/instructions/SOUL.md");
1031
1062
  expect(loaded.commandNotes).toContain("Loaded agent tool notes from $AGENT_HOME/instructions/TOOLS.md");
@@ -1060,8 +1091,7 @@ describe("loadAgentInstructionsPrefix", () => {
1060
1091
  const loaded = await loadAgentInstructionsPrefix({
1061
1092
  instructionsFilePath: instructionsPath,
1062
1093
  includeHeartbeatInstructions: true,
1063
- contextSectionsBeforeCurrentTime: ["## Recent Rudder Context\n\n#### today memory: 2026-06-21.md\n- Calibrate prompt stack"],
1064
- currentTime: new Date("2026-06-21T05:50:43.024Z"),
1094
+ instructionContextSections: ["## Recent Rudder Context\n\n#### today memory: 2026-06-21.md\n- Calibrate prompt stack"],
1065
1095
  onLog: async () => { },
1066
1096
  });
1067
1097
  const operatingContractIndex = loaded.prefix.indexOf("# Rudder Agent Operating Contract");
@@ -1069,15 +1099,14 @@ describe("loadAgentInstructionsPrefix", () => {
1069
1099
  const toolsIndex = loaded.prefix.indexOf("# Tool Notes");
1070
1100
  const memoryIndex = loaded.prefix.indexOf("# Memory Notes");
1071
1101
  const recentContextIndex = loaded.prefix.indexOf("## Recent Rudder Context");
1072
- const currentTimeIndex = loaded.prefix.indexOf("## Current Time");
1073
1102
  const heartbeatIndex = loaded.prefix.indexOf("# Rudder Heartbeat Instruction");
1074
1103
  expect(operatingContractIndex).toBeGreaterThanOrEqual(0);
1075
1104
  expect(soulIndex).toBeGreaterThan(operatingContractIndex);
1076
1105
  expect(toolsIndex).toBeGreaterThan(soulIndex);
1077
1106
  expect(memoryIndex).toBeGreaterThan(toolsIndex);
1078
1107
  expect(recentContextIndex).toBeGreaterThan(memoryIndex);
1079
- expect(currentTimeIndex).toBeGreaterThan(recentContextIndex);
1080
- expect(heartbeatIndex).toBeGreaterThan(currentTimeIndex);
1108
+ expect(heartbeatIndex).toBeGreaterThan(recentContextIndex);
1109
+ expect(loaded.prefix).not.toContain("## Current Time");
1081
1110
  expect(loaded.prefix).toContain("# Persona");
1082
1111
  expect(loaded.prefix).toContain("# Tool Notes");
1083
1112
  expect(loaded.prefix).toContain("# Memory Notes");
@@ -1137,8 +1166,7 @@ describe("loadAgentInstructionsPrefix", () => {
1137
1166
  const loaded = await loadAgentInstructionsPrefix({
1138
1167
  instructionsFilePath: instructionsPath,
1139
1168
  includeHeartbeatInstructions: true,
1140
- contextSectionsBeforeCurrentTime: instructionContext.contextSectionsBeforeCurrentTime,
1141
- currentTime: new Date("2026-06-16T09:10:11.000Z"),
1169
+ instructionContextSections: instructionContext.instructionContextSections,
1142
1170
  onLog: async () => { },
1143
1171
  });
1144
1172
  const operatingContractIndex = loaded.prefix.indexOf("# Rudder Agent Operating Contract");
@@ -1147,7 +1175,6 @@ describe("loadAgentInstructionsPrefix", () => {
1147
1175
  const toolsIndex = loaded.prefix.indexOf("# Agent Tools");
1148
1176
  const memoryIndex = loaded.prefix.indexOf("# Agent Memory");
1149
1177
  const automationsIndex = loaded.prefix.indexOf("## Your Current Automations");
1150
- const currentTimeIndex = loaded.prefix.indexOf("## Current Time");
1151
1178
  const heartbeatIndex = loaded.prefix.indexOf("# Rudder Heartbeat Instruction");
1152
1179
  expect(operatingContractIndex).toBeGreaterThanOrEqual(0);
1153
1180
  expect(agentContractIndex).toBeGreaterThan(operatingContractIndex);
@@ -1155,8 +1182,8 @@ describe("loadAgentInstructionsPrefix", () => {
1155
1182
  expect(toolsIndex).toBeGreaterThan(soulIndex);
1156
1183
  expect(memoryIndex).toBeGreaterThan(toolsIndex);
1157
1184
  expect(automationsIndex).toBeGreaterThan(memoryIndex);
1158
- expect(currentTimeIndex).toBeGreaterThan(automationsIndex);
1159
- expect(heartbeatIndex).toBeGreaterThan(currentTimeIndex);
1185
+ expect(heartbeatIndex).toBeGreaterThan(automationsIndex);
1186
+ expect(loaded.prefix).not.toContain("## Current Time");
1160
1187
  expect(loaded.prefix).toMatch(/# Rudder Heartbeat Instruction[\s\S]*runtime\.$/);
1161
1188
  expect(renderTemplate("{{context.rudderWorkspace.orgResourcesPrompt}}", { context: instructionContext.promptContext })).toBe("");
1162
1189
  }
@@ -1169,21 +1196,21 @@ describe("loadAgentInstructionsPrefix", () => {
1169
1196
  const topLevelOnly = prepareAgentInstructionRuntimeContext({
1170
1197
  rudderResourcesPrompt: canonicalPrompt,
1171
1198
  });
1172
- expect(topLevelOnly.contextSectionsBeforeCurrentTime).toEqual([canonicalPrompt]);
1199
+ expect(topLevelOnly.instructionContextSections).toEqual([canonicalPrompt]);
1173
1200
  expect(renderTemplate("{{context.rudderResourcesPrompt}}", { context: topLevelOnly.promptContext })).toBe("");
1174
1201
  const resourcesOnly = prepareAgentInstructionRuntimeContext({
1175
1202
  rudderWorkspace: {
1176
1203
  resourcesPrompt: canonicalPrompt,
1177
1204
  },
1178
1205
  });
1179
- expect(resourcesOnly.contextSectionsBeforeCurrentTime).toEqual([canonicalPrompt]);
1206
+ expect(resourcesOnly.instructionContextSections).toEqual([canonicalPrompt]);
1180
1207
  expect(renderTemplate("{{context.rudderWorkspace.resourcesPrompt}}", { context: resourcesOnly.promptContext })).toBe("");
1181
1208
  const legacyOnly = prepareAgentInstructionRuntimeContext({
1182
1209
  rudderWorkspace: {
1183
1210
  orgResourcesPrompt: canonicalPrompt,
1184
1211
  },
1185
1212
  });
1186
- expect(legacyOnly.contextSectionsBeforeCurrentTime).toEqual([canonicalPrompt]);
1213
+ expect(legacyOnly.instructionContextSections).toEqual([canonicalPrompt]);
1187
1214
  expect(renderTemplate("{{context.rudderWorkspace.orgResourcesPrompt}}", { context: legacyOnly.promptContext })).toBe("");
1188
1215
  });
1189
1216
  it("prefers canonical resourcesPrompt and only clears matching resource prompt aliases", async () => {
@@ -1196,7 +1223,7 @@ describe("loadAgentInstructionsPrefix", () => {
1196
1223
  orgResourcesPrompt: legacyPrompt,
1197
1224
  },
1198
1225
  });
1199
- expect(prepared.contextSectionsBeforeCurrentTime).toEqual([canonicalPrompt]);
1226
+ expect(prepared.instructionContextSections).toEqual([canonicalPrompt]);
1200
1227
  expect(renderTemplate("{{context.rudderResourcesPrompt}}", { context: prepared.promptContext })).toBe("");
1201
1228
  expect(renderTemplate("{{context.rudderWorkspace.resourcesPrompt}}", { context: prepared.promptContext })).toBe("");
1202
1229
  expect(renderTemplate("{{context.rudderWorkspace.orgResourcesPrompt}}", { context: prepared.promptContext })).toBe(legacyPrompt);