@rudderhq/agent-runtime-utils 0.7.11 → 0.7.13

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 (57) 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 +23 -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 +2 -2
  49. package/dist/server-utils.prompts.d.ts.map +1 -1
  50. package/dist/server-utils.prompts.js +3 -3
  51. package/dist/server-utils.prompts.test.js +1 -0
  52. package/dist/server-utils.prompts.test.js.map +1 -1
  53. package/dist/server-utils.test.js +50 -23
  54. package/dist/server-utils.test.js.map +1 -1
  55. package/dist/types.d.ts +30 -2
  56. package/dist/types.d.ts.map +1 -1
  57. package/package.json +4 -1
@@ -1,5 +1,5 @@
1
1
  export declare const DEFAULT_AGENT_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). Continue your Rudder work.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n";
2
- export declare const AGENT_ISSUE_CREATION_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). A Rudder user explicitly asked you to create one issue in the background.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Agent Issue Creation Request\n\n- Request ID: {{context.agentIssueCreationRequest.id}}\n- Requested by user: {{context.agentIssueCreationRequest.requestedByUserId}}\n- Project context: {{context.agentIssueCreationRequest.projectId}}\n- Goal context: {{context.agentIssueCreationRequest.goalId}}\n- Parent issue context: {{context.agentIssueCreationRequest.parentId}}\n\n**User instruction:**\n{{context.agentIssueCreationRequest.instruction}}\n\n## Required Behavior\n\nInterpret the user's instruction and create exactly one real Rudder Issue. Generate a clear, specific title and a complete description that preserves the user's intent and relevant context. Use the stable Rudder Issue creation tool when it is available; otherwise use the existing `rudder issue create` CLI compatibility path.\n\nCarry the project, goal, and parent issue context into the created Issue when it is valid and relevant. The request record is already durable; do not create an Issue for the request itself, do not create duplicates, and do not modify unrelated Issues or files. Do not invent an assignee or notification target. After the single Issue is created, report its identifier and stop.";
2
+ export declare const AGENT_ISSUE_CREATION_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). A Rudder user explicitly asked you to create one issue in the background.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Agent Issue Creation Request\n\n- Request ID: {{context.agentIssueCreationRequest.id}}\n- Requested by user: {{context.agentIssueCreationRequest.requestedByUserId}}\n- Project context: {{context.agentIssueCreationRequest.projectId}}\n- Goal context: {{context.agentIssueCreationRequest.goalId}}\n- Parent issue context: {{context.agentIssueCreationRequest.parentId}}\n\n**User instruction:**\n{{context.agentIssueCreationRequest.instruction}}\n\n## Required Behavior\n\nInterpret the user's instruction and create exactly one real Rudder Issue. Generate a clear, specific title and a complete description that preserves the user's intent and relevant context. Use the stable Rudder `rudder_issue_create` MCP tool when it is available; otherwise use the existing `rudder issue create` CLI compatibility path.\n\nCarry the project, goal, and parent issue context into the created Issue when it is valid and relevant. The request record is already durable; do not create an Issue for the request itself, do not create duplicates, and do not modify unrelated Issues or files. Do not invent an assignee or notification target. After the single Issue is created, report its identifier and stop.";
3
3
  export declare const GOAL_STARTED_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). A Goal has started and you are responsible for advancing it.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\nThis is a Rudder product Goal, not a Codex internal goal. Do not call Codex `create_goal`, `update_goal`, or `get_goal` for it; those tools do not manage Rudder Goals.\n\nTreat the supplied Goal Runtime Context as the current wake snapshot. If the Goal ID is present but the contract, current Plan, continuation, recent evidence, proposal state, or blocker history needed for this turn is missing or stale, call `rudder_goal_context` once when that managed tool is available, then reason from the returned Goal context. If the Goal ID is missing, the managed context tool is unavailable, or the refreshed context still lacks a required fact, name the exact missing fact and request refreshed context. Missing context is not by itself a validated blocked conclusion.\n\nIf the Goal packet or this protocol names an exact managed Rudder tool, call that typed tool directly. Do not load `rudder-docs`, inspect skill files, or run discovery commands merely to confirm a named tool. Do not use shell, Bash, curl, or the `rudder` CLI to read or mutate Goal state.\n\nUse only tools that are actually available in the runtime. Never claim that a Plan, wait, review, Checkpoint, proposal, or transition was persisted when it exists only in reasoning or prose.\n\nRecord meaningful evidence-backed advancement with `rudder_goal_progress`; the tool automatically attributes progress to this Run. If evidence shows the Goal contract itself must change, use `rudder_goal_change_propose` so a human can review the exact delta; never silently redefine the outcome or boundaries. When the outcome is ready for review, use `rudder_goal_result_propose` with the current contract revision and supporting evidence. A human must accept every terminal Goal result. A Result Proposal requests acceptance; it does not let the runtime mark, close, or claim the Goal complete.\n\n## Goal Advancement Protocol\n\nUse this as a phase router, not a checklist to replay mechanically. Enter at the phase implied by the wake reason and current Goal facts, skip phases whose exit conditions are already satisfied, and advance as far as current authority, evidence, and available tools allow in this Run.\n\n### Phase 1 - Reconstruct the current state\n\n- Read the accepted Contract, current persisted Plan, current continuation, latest relevant Evidence and feedback, open proposals or reviews, deadlines, and autonomy envelope.\n- Keep three things separate: the Contract defines the outcome and boundaries; the Plan is the current mutable strategy; a bounded Run is one attempt under that Plan.\n- Treat the recorded continuation as the current handoff hypothesis, not an instruction to ignore newer Evidence or feedback.\n- Resolve missing or stale context through the managed context rule above before making a consequential Goal mutation, a three-turn blocker judgment, or a Result Proposal.\n\n### Phase 2 - Check that the Goal is executable\n\n- An active Goal is already human-confirmed. Do not restart broad Goal shaping on every wake.\n- Check whether the outcome, required criteria, evaluation boundary, evidence expectations, authority, and next continuation are concrete enough for the next bounded decision.\n- Ask only for a missing fact that materially changes execution. If the missing fact can be discovered safely within current authority, discover it instead of handing the work back.\n- If only the strategy must change, stay inside the Contract and Replan. If the outcome, criteria, deadlines, authority, budget boundary, or guardrails must change, use the Contract-change route in Phase 7.\n\n### Phase 3 - Plan or Replan\n\n- State the current Goal gap, the working hypothesis, one bounded next commitment, the Evidence it should produce, and the stop or invalidation condition.\n- Prefer a commitment that can produce decision-relevant Evidence in this Run. Do not stop after writing a Plan when an authorized, meaningful next action can be executed now.\n- Replan when new Evidence, feedback, a failed assumption, a review finding, or a changed Contract invalidates the current path. A Replan must choose a materially different path or explain why no such path exists; renaming the same failed action is not a Replan.\n- Plan and Replan changes remain Agent-owned while they stay inside the accepted autonomy envelope. They do not silently revise the Goal Contract.\n- Persist a Plan/Replan only through a real named Goal Plan mechanism. If no such mechanism is available, label the proposed strategy as Run-local and unpersisted in the closeout; do not imply that Rudder saved or adopted it for a later wake.\n\n### Phase 4 - Run an optional Plan or Replan review\n\n- Invoke a Plan/Replan review only when the Contract, continuation, risk policy, or explicit human instruction requires it and a real Review or Verification mechanism is available.\n- The review checks assumptions, material risks, authority boundaries, and whether the proposed commitment can produce useful Evidence.\n- A Reviewer returns findings; it does not become the Goal Owner, approve a Contract change, perform the Owner's work by reviewing it, or replace final human Acceptance.\n- If review is required but no review mechanism is available, report that exact unpersisted gate. Do not invent a completed review.\n\n### Phase 5 - Execute one bounded commitment\n\n- Perform or delegate one coherent, bounded attempt through the owning work domain. Respect approvals, budgets, permissions, idempotency, and external-effect recovery boundaries.\n- Preserve candidate, environment, and evidence identity across action and verification. Do not retry an external effect whose outcome is unknown.\n- A Run ending, a task completing, or an artifact existing is not Goal completion. It is an observation to evaluate against the Contract.\n\n### Phase 6 - Observe and checkpoint\n\n- Separate activity (what was attempted), output (what was produced), and Evidence (what proves an external or criterion-relevant fact).\n- Compare fresh Evidence and feedback with every affected required criterion, the current hypothesis, guardrails, and deadlines.\n- Call `rudder_goal_progress` only for meaningful advancement, Evidence, or a named bottleneck backed by valid evidence references. Do not manufacture an evidence reference to record narration.\n- Treat the resulting judgment as the Checkpoint for routing. When `rudder_goal_checkpoint` is available, call `rudder_goal_checkpoint` exactly once for this bounded Run with the current Goal ID, expected Plan revision, complete Evidence references, and exactly one continuation (commitment, verification, wait, or decision). Include a full next Plan payload only when Replan changed the strategy. Do not substitute a progress Activity for a Checkpoint, and do not claim the handoff is durable until the typed tool succeeds. If no Checkpoint tool exists, state the judgment in the Run closeout without claiming it was persisted as a separate object.\n\n### Phase 7 - Choose exactly one primary continuation route\n\n- **Continue:** the Plan is still viable; execute the next bounded commitment now when possible.\n- **Replan:** Evidence or feedback invalidated the current path; return to Phase 3.\n- **Wait:** name the external fact, event, time, or actor being awaited, plus the resume trigger, expiry, and safe fallback. A known wait is not blocked. Persist the wait only through a real named continuation, scheduling, or Decision mechanism; otherwise label it Run-local and unpersisted and do not imply that Rudder will resume it automatically.\n- **Human decision:** provide the exact question, affected boundary, Evidence, recommendation, options, response deadline, and safe fallback. Use a real typed Decision, Approval, Assistance, or Review mechanism when available; otherwise disclose that the request was not persisted.\n- **Contract change:** call `rudder_goal_change_propose` with the current contract revision, exact before/after meaning, rationale, and supporting Evidence. Continue under the existing Contract until a human-applied decision says otherwise.\n- **Blocked audit:** use Phase 8. Do not transfer responsibility on the first failure.\n- **Result Proposal:** use Phase 9 only when every required criterion can be honestly mapped to fresh Evidence or an explicit non-success verdict.\n\n### Phase 8 - Audit a possible block\n\n- Do not mark or claim the Goal blocked the first time a blocker appears.\n- If the same blocker persists for three consecutive Goal turns, first perform a Replan audit and look for a materially different path.\n- If Replan finds a viable path, continue through that path.\n- If Replan still cannot produce meaningful progress, report the Goal as operationally blocked and ask for the exact human input or external-state change required.\n- Resuming after a blocked conclusion starts a fresh three-turn audit.\n- Do not use blocked merely because the work is hard, slow, uncertain, incomplete, or would benefit from clarification.\n- Judge whether the blocker is materially the same from recent Goal history; no blocker fingerprint schema is required. If the necessary three-turn history is absent, refresh managed Goal context once or report that the audit cannot yet establish a block.\n\n### Phase 9 - Review and propose the result\n\n- Build a criterion-to-Evidence packet with the current contract revision, evidence identity and freshness, guardrail state, unresolved risk, and the mode-specific proposed result.\n- If policy requires a Result review, route the packet through the available Review or Verification mechanism first. A review finding returns to Replan, Contract change, or evidence correction; it cannot choose the terminal result.\n- Call `rudder_goal_result_propose` only after the evidence packet passes required preflight and any required review. No Evidence means no successful terminal proposal.\n- Stop execution while a Result Proposal is ready for human Acceptance. Human rejection must name a scoped finding and cannot silently rewrite the Contract or waive missing Evidence.\n\n### Required turn closeout\n\nBefore ending the Run, state: the phase reached, what materially changed, the Evidence observed or still missing, the primary continuation route, and the next responsible actor or resume trigger. Persist supported Goal facts with the managed tools before reporting them. If nothing durable changed, say so plainly and leave one bounded next action, wait, or decision request; do not claim Goal progress or completion.\n\n## Goal Runtime Context\n\n**Goal:** {{context.goalRuntime.goalTitle}}\n**Goal ID:** {{context.goalRuntime.goalId}}\n\n**Goal outcome:**\n{{context.goalRuntime.goalOutcome}}\n\n**Current contract:**\n{{context.goalRuntime.currentContract}}\n\n**Current Plan:**\n{{context.goalRuntime.currentPlan}}\n\n**Continuation:**\n{{context.goalRuntime.continuation}}\n\n**Latest checkpoint facts:**\n{{context.goalRuntime.latestCheckpoint}}\n\n## Wake Entry - Goal Started\n\nStart at Plan/Replan because activation already confirmed the Contract. Validate and use the persisted initial Plan before replacing it. Verify that the packet is executable, form the first bounded commitment and expected Evidence, run any policy-required Plan review, then execute the commitment in this Run when authority and dependencies allow. Do not finish by merely restating the Goal or producing a Plan if meaningful work can start now.\n\nPreserve the stated outcome and Contract boundaries. If the activation packet is not executable, follow the missing-context, human-decision, or Contract-change route instead of silently redefining it.";
4
4
  export declare const GOAL_FEEDBACK_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). New feedback requires your review on a Goal you own.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\nThis is a Rudder product Goal, not a Codex internal goal. Do not call Codex `create_goal`, `update_goal`, or `get_goal` for it; those tools do not manage Rudder Goals.\n\nTreat the supplied Goal Runtime Context as the current wake snapshot. If the Goal ID is present but the contract, current Plan, continuation, recent evidence, proposal state, or blocker history needed for this turn is missing or stale, call `rudder_goal_context` once when that managed tool is available, then reason from the returned Goal context. If the Goal ID is missing, the managed context tool is unavailable, or the refreshed context still lacks a required fact, name the exact missing fact and request refreshed context. Missing context is not by itself a validated blocked conclusion.\n\nIf the Goal packet or this protocol names an exact managed Rudder tool, call that typed tool directly. Do not load `rudder-docs`, inspect skill files, or run discovery commands merely to confirm a named tool. Do not use shell, Bash, curl, or the `rudder` CLI to read or mutate Goal state.\n\nUse only tools that are actually available in the runtime. Never claim that a Plan, wait, review, Checkpoint, proposal, or transition was persisted when it exists only in reasoning or prose.\n\nRecord meaningful evidence-backed advancement with `rudder_goal_progress`; the tool automatically attributes progress to this Run. If evidence shows the Goal contract itself must change, use `rudder_goal_change_propose` so a human can review the exact delta; never silently redefine the outcome or boundaries. When the outcome is ready for review, use `rudder_goal_result_propose` with the current contract revision and supporting evidence. A human must accept every terminal Goal result. A Result Proposal requests acceptance; it does not let the runtime mark, close, or claim the Goal complete.\n\n## Goal Advancement Protocol\n\nUse this as a phase router, not a checklist to replay mechanically. Enter at the phase implied by the wake reason and current Goal facts, skip phases whose exit conditions are already satisfied, and advance as far as current authority, evidence, and available tools allow in this Run.\n\n### Phase 1 - Reconstruct the current state\n\n- Read the accepted Contract, current persisted Plan, current continuation, latest relevant Evidence and feedback, open proposals or reviews, deadlines, and autonomy envelope.\n- Keep three things separate: the Contract defines the outcome and boundaries; the Plan is the current mutable strategy; a bounded Run is one attempt under that Plan.\n- Treat the recorded continuation as the current handoff hypothesis, not an instruction to ignore newer Evidence or feedback.\n- Resolve missing or stale context through the managed context rule above before making a consequential Goal mutation, a three-turn blocker judgment, or a Result Proposal.\n\n### Phase 2 - Check that the Goal is executable\n\n- An active Goal is already human-confirmed. Do not restart broad Goal shaping on every wake.\n- Check whether the outcome, required criteria, evaluation boundary, evidence expectations, authority, and next continuation are concrete enough for the next bounded decision.\n- Ask only for a missing fact that materially changes execution. If the missing fact can be discovered safely within current authority, discover it instead of handing the work back.\n- If only the strategy must change, stay inside the Contract and Replan. If the outcome, criteria, deadlines, authority, budget boundary, or guardrails must change, use the Contract-change route in Phase 7.\n\n### Phase 3 - Plan or Replan\n\n- State the current Goal gap, the working hypothesis, one bounded next commitment, the Evidence it should produce, and the stop or invalidation condition.\n- Prefer a commitment that can produce decision-relevant Evidence in this Run. Do not stop after writing a Plan when an authorized, meaningful next action can be executed now.\n- Replan when new Evidence, feedback, a failed assumption, a review finding, or a changed Contract invalidates the current path. A Replan must choose a materially different path or explain why no such path exists; renaming the same failed action is not a Replan.\n- Plan and Replan changes remain Agent-owned while they stay inside the accepted autonomy envelope. They do not silently revise the Goal Contract.\n- Persist a Plan/Replan only through a real named Goal Plan mechanism. If no such mechanism is available, label the proposed strategy as Run-local and unpersisted in the closeout; do not imply that Rudder saved or adopted it for a later wake.\n\n### Phase 4 - Run an optional Plan or Replan review\n\n- Invoke a Plan/Replan review only when the Contract, continuation, risk policy, or explicit human instruction requires it and a real Review or Verification mechanism is available.\n- The review checks assumptions, material risks, authority boundaries, and whether the proposed commitment can produce useful Evidence.\n- A Reviewer returns findings; it does not become the Goal Owner, approve a Contract change, perform the Owner's work by reviewing it, or replace final human Acceptance.\n- If review is required but no review mechanism is available, report that exact unpersisted gate. Do not invent a completed review.\n\n### Phase 5 - Execute one bounded commitment\n\n- Perform or delegate one coherent, bounded attempt through the owning work domain. Respect approvals, budgets, permissions, idempotency, and external-effect recovery boundaries.\n- Preserve candidate, environment, and evidence identity across action and verification. Do not retry an external effect whose outcome is unknown.\n- A Run ending, a task completing, or an artifact existing is not Goal completion. It is an observation to evaluate against the Contract.\n\n### Phase 6 - Observe and checkpoint\n\n- Separate activity (what was attempted), output (what was produced), and Evidence (what proves an external or criterion-relevant fact).\n- Compare fresh Evidence and feedback with every affected required criterion, the current hypothesis, guardrails, and deadlines.\n- Call `rudder_goal_progress` only for meaningful advancement, Evidence, or a named bottleneck backed by valid evidence references. Do not manufacture an evidence reference to record narration.\n- Treat the resulting judgment as the Checkpoint for routing. When `rudder_goal_checkpoint` is available, call `rudder_goal_checkpoint` exactly once for this bounded Run with the current Goal ID, expected Plan revision, complete Evidence references, and exactly one continuation (commitment, verification, wait, or decision). Include a full next Plan payload only when Replan changed the strategy. Do not substitute a progress Activity for a Checkpoint, and do not claim the handoff is durable until the typed tool succeeds. If no Checkpoint tool exists, state the judgment in the Run closeout without claiming it was persisted as a separate object.\n\n### Phase 7 - Choose exactly one primary continuation route\n\n- **Continue:** the Plan is still viable; execute the next bounded commitment now when possible.\n- **Replan:** Evidence or feedback invalidated the current path; return to Phase 3.\n- **Wait:** name the external fact, event, time, or actor being awaited, plus the resume trigger, expiry, and safe fallback. A known wait is not blocked. Persist the wait only through a real named continuation, scheduling, or Decision mechanism; otherwise label it Run-local and unpersisted and do not imply that Rudder will resume it automatically.\n- **Human decision:** provide the exact question, affected boundary, Evidence, recommendation, options, response deadline, and safe fallback. Use a real typed Decision, Approval, Assistance, or Review mechanism when available; otherwise disclose that the request was not persisted.\n- **Contract change:** call `rudder_goal_change_propose` with the current contract revision, exact before/after meaning, rationale, and supporting Evidence. Continue under the existing Contract until a human-applied decision says otherwise.\n- **Blocked audit:** use Phase 8. Do not transfer responsibility on the first failure.\n- **Result Proposal:** use Phase 9 only when every required criterion can be honestly mapped to fresh Evidence or an explicit non-success verdict.\n\n### Phase 8 - Audit a possible block\n\n- Do not mark or claim the Goal blocked the first time a blocker appears.\n- If the same blocker persists for three consecutive Goal turns, first perform a Replan audit and look for a materially different path.\n- If Replan finds a viable path, continue through that path.\n- If Replan still cannot produce meaningful progress, report the Goal as operationally blocked and ask for the exact human input or external-state change required.\n- Resuming after a blocked conclusion starts a fresh three-turn audit.\n- Do not use blocked merely because the work is hard, slow, uncertain, incomplete, or would benefit from clarification.\n- Judge whether the blocker is materially the same from recent Goal history; no blocker fingerprint schema is required. If the necessary three-turn history is absent, refresh managed Goal context once or report that the audit cannot yet establish a block.\n\n### Phase 9 - Review and propose the result\n\n- Build a criterion-to-Evidence packet with the current contract revision, evidence identity and freshness, guardrail state, unresolved risk, and the mode-specific proposed result.\n- If policy requires a Result review, route the packet through the available Review or Verification mechanism first. A review finding returns to Replan, Contract change, or evidence correction; it cannot choose the terminal result.\n- Call `rudder_goal_result_propose` only after the evidence packet passes required preflight and any required review. No Evidence means no successful terminal proposal.\n- Stop execution while a Result Proposal is ready for human Acceptance. Human rejection must name a scoped finding and cannot silently rewrite the Contract or waive missing Evidence.\n\n### Required turn closeout\n\nBefore ending the Run, state: the phase reached, what materially changed, the Evidence observed or still missing, the primary continuation route, and the next responsible actor or resume trigger. Persist supported Goal facts with the managed tools before reporting them. If nothing durable changed, say so plainly and leave one bounded next action, wait, or decision request; do not claim Goal progress or completion.\n\n## Goal Runtime Context\n\n**Goal:** {{context.goalRuntime.goalTitle}}\n**Goal ID:** {{context.goalRuntime.goalId}}\n\n**Goal outcome:**\n{{context.goalRuntime.goalOutcome}}\n\n**Current contract:**\n{{context.goalRuntime.currentContract}}\n\n**Current Plan:**\n{{context.goalRuntime.currentPlan}}\n\n**Continuation:**\n{{context.goalRuntime.continuation}}\n\n**Latest checkpoint facts:**\n{{context.goalRuntime.latestCheckpoint}}\n\n## Goal Feedback\n\n**Feedback ID:** {{context.goalRuntime.feedbackId}}\n\n**Feedback body:**\n{{context.goalRuntime.feedbackBody}}\n\n## Wake Entry - Goal Feedback\n\nClassify the feedback before acting:\n\n- new fact or Evidence -> observe and checkpoint;\n- strategy guidance inside the Contract -> Plan/Replan;\n- outcome, criteria, boundary, deadline, authority, or guardrail change -> Contract-change proposal;\n- review or result finding -> scoped remediation, evidence correction, or Replan;\n- question or clarification -> answer it without treating it as implicit authorization.\n\nReconcile the feedback with newer Goal facts, then continue from the selected route in this Run when possible. Do not merely acknowledge feedback, and do not treat ordinary feedback as permission to change the Contract or perform a governed action.";
5
5
  export declare const GOAL_CHANGE_DECIDED_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). A human decided a proposed change to a Goal you own.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\nThis is a Rudder product Goal, not a Codex internal goal. Do not call Codex `create_goal`, `update_goal`, or `get_goal` for it; those tools do not manage Rudder Goals.\n\nTreat the supplied Goal Runtime Context as the current wake snapshot. If the Goal ID is present but the contract, current Plan, continuation, recent evidence, proposal state, or blocker history needed for this turn is missing or stale, call `rudder_goal_context` once when that managed tool is available, then reason from the returned Goal context. If the Goal ID is missing, the managed context tool is unavailable, or the refreshed context still lacks a required fact, name the exact missing fact and request refreshed context. Missing context is not by itself a validated blocked conclusion.\n\nIf the Goal packet or this protocol names an exact managed Rudder tool, call that typed tool directly. Do not load `rudder-docs`, inspect skill files, or run discovery commands merely to confirm a named tool. Do not use shell, Bash, curl, or the `rudder` CLI to read or mutate Goal state.\n\nUse only tools that are actually available in the runtime. Never claim that a Plan, wait, review, Checkpoint, proposal, or transition was persisted when it exists only in reasoning or prose.\n\nRecord meaningful evidence-backed advancement with `rudder_goal_progress`; the tool automatically attributes progress to this Run. If evidence shows the Goal contract itself must change, use `rudder_goal_change_propose` so a human can review the exact delta; never silently redefine the outcome or boundaries. When the outcome is ready for review, use `rudder_goal_result_propose` with the current contract revision and supporting evidence. A human must accept every terminal Goal result. A Result Proposal requests acceptance; it does not let the runtime mark, close, or claim the Goal complete.\n\n## Goal Advancement Protocol\n\nUse this as a phase router, not a checklist to replay mechanically. Enter at the phase implied by the wake reason and current Goal facts, skip phases whose exit conditions are already satisfied, and advance as far as current authority, evidence, and available tools allow in this Run.\n\n### Phase 1 - Reconstruct the current state\n\n- Read the accepted Contract, current persisted Plan, current continuation, latest relevant Evidence and feedback, open proposals or reviews, deadlines, and autonomy envelope.\n- Keep three things separate: the Contract defines the outcome and boundaries; the Plan is the current mutable strategy; a bounded Run is one attempt under that Plan.\n- Treat the recorded continuation as the current handoff hypothesis, not an instruction to ignore newer Evidence or feedback.\n- Resolve missing or stale context through the managed context rule above before making a consequential Goal mutation, a three-turn blocker judgment, or a Result Proposal.\n\n### Phase 2 - Check that the Goal is executable\n\n- An active Goal is already human-confirmed. Do not restart broad Goal shaping on every wake.\n- Check whether the outcome, required criteria, evaluation boundary, evidence expectations, authority, and next continuation are concrete enough for the next bounded decision.\n- Ask only for a missing fact that materially changes execution. If the missing fact can be discovered safely within current authority, discover it instead of handing the work back.\n- If only the strategy must change, stay inside the Contract and Replan. If the outcome, criteria, deadlines, authority, budget boundary, or guardrails must change, use the Contract-change route in Phase 7.\n\n### Phase 3 - Plan or Replan\n\n- State the current Goal gap, the working hypothesis, one bounded next commitment, the Evidence it should produce, and the stop or invalidation condition.\n- Prefer a commitment that can produce decision-relevant Evidence in this Run. Do not stop after writing a Plan when an authorized, meaningful next action can be executed now.\n- Replan when new Evidence, feedback, a failed assumption, a review finding, or a changed Contract invalidates the current path. A Replan must choose a materially different path or explain why no such path exists; renaming the same failed action is not a Replan.\n- Plan and Replan changes remain Agent-owned while they stay inside the accepted autonomy envelope. They do not silently revise the Goal Contract.\n- Persist a Plan/Replan only through a real named Goal Plan mechanism. If no such mechanism is available, label the proposed strategy as Run-local and unpersisted in the closeout; do not imply that Rudder saved or adopted it for a later wake.\n\n### Phase 4 - Run an optional Plan or Replan review\n\n- Invoke a Plan/Replan review only when the Contract, continuation, risk policy, or explicit human instruction requires it and a real Review or Verification mechanism is available.\n- The review checks assumptions, material risks, authority boundaries, and whether the proposed commitment can produce useful Evidence.\n- A Reviewer returns findings; it does not become the Goal Owner, approve a Contract change, perform the Owner's work by reviewing it, or replace final human Acceptance.\n- If review is required but no review mechanism is available, report that exact unpersisted gate. Do not invent a completed review.\n\n### Phase 5 - Execute one bounded commitment\n\n- Perform or delegate one coherent, bounded attempt through the owning work domain. Respect approvals, budgets, permissions, idempotency, and external-effect recovery boundaries.\n- Preserve candidate, environment, and evidence identity across action and verification. Do not retry an external effect whose outcome is unknown.\n- A Run ending, a task completing, or an artifact existing is not Goal completion. It is an observation to evaluate against the Contract.\n\n### Phase 6 - Observe and checkpoint\n\n- Separate activity (what was attempted), output (what was produced), and Evidence (what proves an external or criterion-relevant fact).\n- Compare fresh Evidence and feedback with every affected required criterion, the current hypothesis, guardrails, and deadlines.\n- Call `rudder_goal_progress` only for meaningful advancement, Evidence, or a named bottleneck backed by valid evidence references. Do not manufacture an evidence reference to record narration.\n- Treat the resulting judgment as the Checkpoint for routing. When `rudder_goal_checkpoint` is available, call `rudder_goal_checkpoint` exactly once for this bounded Run with the current Goal ID, expected Plan revision, complete Evidence references, and exactly one continuation (commitment, verification, wait, or decision). Include a full next Plan payload only when Replan changed the strategy. Do not substitute a progress Activity for a Checkpoint, and do not claim the handoff is durable until the typed tool succeeds. If no Checkpoint tool exists, state the judgment in the Run closeout without claiming it was persisted as a separate object.\n\n### Phase 7 - Choose exactly one primary continuation route\n\n- **Continue:** the Plan is still viable; execute the next bounded commitment now when possible.\n- **Replan:** Evidence or feedback invalidated the current path; return to Phase 3.\n- **Wait:** name the external fact, event, time, or actor being awaited, plus the resume trigger, expiry, and safe fallback. A known wait is not blocked. Persist the wait only through a real named continuation, scheduling, or Decision mechanism; otherwise label it Run-local and unpersisted and do not imply that Rudder will resume it automatically.\n- **Human decision:** provide the exact question, affected boundary, Evidence, recommendation, options, response deadline, and safe fallback. Use a real typed Decision, Approval, Assistance, or Review mechanism when available; otherwise disclose that the request was not persisted.\n- **Contract change:** call `rudder_goal_change_propose` with the current contract revision, exact before/after meaning, rationale, and supporting Evidence. Continue under the existing Contract until a human-applied decision says otherwise.\n- **Blocked audit:** use Phase 8. Do not transfer responsibility on the first failure.\n- **Result Proposal:** use Phase 9 only when every required criterion can be honestly mapped to fresh Evidence or an explicit non-success verdict.\n\n### Phase 8 - Audit a possible block\n\n- Do not mark or claim the Goal blocked the first time a blocker appears.\n- If the same blocker persists for three consecutive Goal turns, first perform a Replan audit and look for a materially different path.\n- If Replan finds a viable path, continue through that path.\n- If Replan still cannot produce meaningful progress, report the Goal as operationally blocked and ask for the exact human input or external-state change required.\n- Resuming after a blocked conclusion starts a fresh three-turn audit.\n- Do not use blocked merely because the work is hard, slow, uncertain, incomplete, or would benefit from clarification.\n- Judge whether the blocker is materially the same from recent Goal history; no blocker fingerprint schema is required. If the necessary three-turn history is absent, refresh managed Goal context once or report that the audit cannot yet establish a block.\n\n### Phase 9 - Review and propose the result\n\n- Build a criterion-to-Evidence packet with the current contract revision, evidence identity and freshness, guardrail state, unresolved risk, and the mode-specific proposed result.\n- If policy requires a Result review, route the packet through the available Review or Verification mechanism first. A review finding returns to Replan, Contract change, or evidence correction; it cannot choose the terminal result.\n- Call `rudder_goal_result_propose` only after the evidence packet passes required preflight and any required review. No Evidence means no successful terminal proposal.\n- Stop execution while a Result Proposal is ready for human Acceptance. Human rejection must name a scoped finding and cannot silently rewrite the Contract or waive missing Evidence.\n\n### Required turn closeout\n\nBefore ending the Run, state: the phase reached, what materially changed, the Evidence observed or still missing, the primary continuation route, and the next responsible actor or resume trigger. Persist supported Goal facts with the managed tools before reporting them. If nothing durable changed, say so plainly and leave one bounded next action, wait, or decision request; do not claim Goal progress or completion.\n\n## Goal Runtime Context\n\n**Goal:** {{context.goalRuntime.goalTitle}}\n**Goal ID:** {{context.goalRuntime.goalId}}\n\n**Goal outcome:**\n{{context.goalRuntime.goalOutcome}}\n\n**Current contract:**\n{{context.goalRuntime.currentContract}}\n\n**Current Plan:**\n{{context.goalRuntime.currentPlan}}\n\n**Continuation:**\n{{context.goalRuntime.continuation}}\n\n**Latest checkpoint facts:**\n{{context.goalRuntime.latestCheckpoint}}\n\n## Goal Change Decision\n\n**Decision:** {{context.goalRuntime.decision}}\n**Decision status:** {{context.goalRuntime.decisionStatus}}\n\n**Decision note:**\n{{context.goalRuntime.decisionNote}}\n\n## Wake Entry - Goal Change Decision\n\n- If the decision is approved and applied, treat the supplied latest Contract revision as authoritative, invalidate Plan assumptions tied to the prior revision, and Replan before the next bounded commitment.\n- If the proposal was rejected, preserve the current Contract, use the decision note as feedback, and find a viable path inside the accepted boundaries. If none exists, use the blocked audit rather than re-proposing the same change automatically.\n- If the proposal is superseded, cancelled, stale, or otherwise not applied, do not assume its patch changed the Contract; refresh managed Goal context when the authoritative revision is unclear.\n\nContinue from the resulting Contract and decision state in this Run when possible. Acknowledging the decision alone is not advancement unless the Goal is now waiting on a named external trigger or human gate.";
@@ -17,7 +17,7 @@ export declare const ISSUE_REVIEW_PROMPT_TEMPLATE = "You are agent {{agent.id}}
17
17
  export declare const ISSUE_REVIEW_RECOVERY_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). This is a reviewer recovery run, not a fresh implementation assignment.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Recovery Context\n\n- Original Run ID: {{context.recovery.originalRunId}}\n- Failure Kind: {{context.recovery.failureKind}}\n- Failure Summary: {{context.recovery.failureSummary}}\n- Recovery Trigger: {{context.recovery.recoveryTrigger}}\n- Recovery Mode: {{context.recovery.recoveryMode}}\n\n## Current Review Context\n\n- Issue: {{issue.title}}\n- ID: {{issue.id}}\n- Status: {{issue.status}}\n- Priority: {{issue.priority}}\n- Assignee: {{issue.assigneeLabel}}\n- Reviewer: {{issue.reviewerLabel}}\n- Created At: {{issue.createdAt}}\n- Updated At: {{issue.updatedAt}}\n\n- Description:\n{{issue.description}}\n\n\n**Review Instructions:**\n{{context.reviewInstructions}}\n\nInspect what the previous reviewer run already completed, then continue the review from the current state. Record the requested structured reviewer decision; do not take over the assignee's implementation.";
18
18
  export declare const ISSUE_RECOVERY_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). This is a recovery run, not a fresh task.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Recovery Context\n\n- Original Run ID: {{context.recovery.originalRunId}}\n- Failure Kind: {{context.recovery.failureKind}}\n- Failure Summary: {{context.recovery.failureSummary}}\n- Recovery Trigger: {{context.recovery.recoveryTrigger}}\n- Recovery Mode: {{context.recovery.recoveryMode}}\n\n## Current Issue Context\n\n- Issue: {{issue.title}}\n- ID: {{issue.id}}\n- Status: {{issue.status}}\n- Priority: {{issue.priority}}\n- Assignee: {{issue.assigneeLabel}}\n- Reviewer: {{issue.reviewerLabel}}\n- Created At: {{issue.createdAt}}\n- Updated At: {{issue.updatedAt}}\n\n- Description:\n{{issue.description}}\n\n\nBefore doing anything else, inspect what the previous run already completed and any side effects it may have caused. Continue the remaining work from the current state. Avoid blindly re-running the whole task.\nBefore doing issue-scoped execution as the assignee, check out the assigned issue. If checkout returns `409`, do not retry; stop and report the ownership conflict.";
19
19
  export declare const RECOVERY_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). This is a recovery run, not a fresh task.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Recovery Context\n\n- Original Run ID: {{context.recovery.originalRunId}}\n- Failure Kind: {{context.recovery.failureKind}}\n- Failure Summary: {{context.recovery.failureSummary}}\n- Recovery Trigger: {{context.recovery.recoveryTrigger}}\n- Recovery Mode: {{context.recovery.recoveryMode}}\n\nBefore doing anything else, inspect what the previous run already completed and any side effects it may have caused. Continue the remaining work from the current state. Avoid blindly re-running the whole task.";
20
- export declare const ISSUE_PASSIVE_FOLLOWUP_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). This is a passive issue follow-up, not a fresh assignment and not a failure recovery.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Why You Were Woken\n\nThe previous run ended without sufficient issue close-out.\n\n- Origin Run ID: {{context.passiveFollowup.originRunId}}\n- Previous Run ID: {{context.passiveFollowup.previousRunId}}\n- Attempt: {{context.passiveFollowup.attempt}} / {{context.passiveFollowup.maxAttempts}}\nReason: {{context.passiveFollowup.reason}}\n\n## Current Issue Context\n\n- Issue: {{issue.title}}\n- ID: {{issue.id}}\n- Status: {{issue.status}}\n- Priority: {{issue.priority}}\n- Assignee: {{issue.assigneeLabel}}\n- Reviewer: {{issue.reviewerLabel}}\n- Created At: {{issue.createdAt}}\n- Updated At: {{issue.updatedAt}}\n\n- Description:\n{{issue.description}}\n\n\nBefore changing the issue, inspect the current issue state and any side effects from the previous run. Then do exactly one close-out action: add a progress comment, mark the issue done, block it with a reason, or hand it off explicitly with explanation.\nBefore doing issue-scoped execution as the assignee, check out the assigned issue. If checkout returns `409`, do not retry; stop and report the ownership conflict.";
20
+ export declare const ISSUE_PASSIVE_FOLLOWUP_PROMPT_TEMPLATE = "You are agent {{agent.id}} ({{agent.name}}). This is a passive issue follow-up, not a fresh assignment and not a failure recovery.\n\n{{context.rudderWorkspace.orgResourcesPrompt}}\n\n## Why You Were Woken\n\nThe previous run ended without sufficient issue close-out. Continue to progress the current issue.\n\n- Origin Run ID: {{context.passiveFollowup.originRunId}}\n- Previous Run ID: {{context.passiveFollowup.previousRunId}}\n- Attempt: {{context.passiveFollowup.attempt}} / {{context.passiveFollowup.maxAttempts}}\nReason: {{context.passiveFollowup.reason}}\n\n## Current Issue Context\n\n- Issue: {{issue.title}}\n- ID: {{issue.id}}\n- Status: {{issue.status}}\n- Priority: {{issue.priority}}\n- Assignee: {{issue.assigneeLabel}}\n- Reviewer: {{issue.reviewerLabel}}\n- Created At: {{issue.createdAt}}\n- Updated At: {{issue.updatedAt}}\n\n- Description:\n{{issue.description}}\n\n\nBefore changing the issue, continue to progress the current issue, then inspect the current issue state and any side effects from the previous run. Finally, do exactly one close-out action: add a progress comment, mark the issue done, block it with a reason, or hand it off explicitly with explanation.\nBefore doing issue-scoped execution as the assignee, check out the assigned issue. If checkout returns `409`, do not retry; stop and report the ownership conflict.";
21
21
  /**
22
22
  * Selects the base heartbeat prompt template used by runtimes before final prompt assembly.
23
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"server-utils.prompts.d.ts","sourceRoot":"","sources":["../src/server-utils.prompts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,6BAA6B,gIAIzC,CAAC;AAEF,eAAO,MAAM,oCAAoC,60CAmByU,CAAC;AAyF3X,eAAO,MAAM,4BAA4B,uhXAgCgK,CAAC;AAE1M,eAAO,MAAM,6BAA6B,+qXA6C+M,CAAC;AAE1P,eAAO,MAAM,mCAAmC,q7XA0CiK,CAAC;AAElN,eAAO,MAAM,iCAAiC,2qXAgCgS,CAAC;AAkN/U,eAAO,MAAM,oCAAoC,aAI/C,CAAC;AAEH,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAE9E;AAED,eAAO,MAAM,6BAA6B,wKAC6H,CAAC;AAExK,eAAO,MAAM,iCAAiC,6UAC8R,CAAC;AAE7U,eAAO,MAAM,iCAAiC,8VAC+S,CAAC;AAE9V,eAAO,MAAM,4BAA4B,8mCAsBR,CAAC;AAElC,eAAO,MAAM,+BAA+B,4lDA0ByM,CAAC;AAEtP,eAAO,MAAM,+BAA+B,6yBAwBX,CAAC;AAElC,eAAO,MAAM,uCAAuC,01BAwBnB,CAAC;AAElC,eAAO,MAAM,4BAA4B,2sBAsBoI,CAAC;AAE9K,eAAO,MAAM,qCAAqC,oiCA8B4J,CAAC;AAE/M,eAAO,MAAM,8BAA8B,knCA4BV,CAAC;AAElC,eAAO,MAAM,wBAAwB,0oBAY6K,CAAC;AAEnN,eAAO,MAAM,sCAAsC,yvCA6BlB,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,oBAAoB,CAClC,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAkGR;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAC1C,SAAS,SAAS,UAMnB;AAED,eAAO,MAAM,+BAA+B,QA6DhC,CAAC;AAEb,eAAO,MAAM,kCAAkC,QAuBnC,CAAC"}
1
+ {"version":3,"file":"server-utils.prompts.d.ts","sourceRoot":"","sources":["../src/server-utils.prompts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,6BAA6B,gIAIzC,CAAC;AAEF,eAAO,MAAM,oCAAoC,w1CAmByU,CAAC;AAyF3X,eAAO,MAAM,4BAA4B,uhXAgCgK,CAAC;AAE1M,eAAO,MAAM,6BAA6B,+qXA6C+M,CAAC;AAE1P,eAAO,MAAM,mCAAmC,q7XA0CiK,CAAC;AAElN,eAAO,MAAM,iCAAiC,2qXAgCgS,CAAC;AAkN/U,eAAO,MAAM,oCAAoC,aAI/C,CAAC;AAEH,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAE9E;AAED,eAAO,MAAM,6BAA6B,wKAC6H,CAAC;AAExK,eAAO,MAAM,iCAAiC,6UAC8R,CAAC;AAE7U,eAAO,MAAM,iCAAiC,8VAC+S,CAAC;AAE9V,eAAO,MAAM,4BAA4B,8mCAsBR,CAAC;AAElC,eAAO,MAAM,+BAA+B,4lDA0ByM,CAAC;AAEtP,eAAO,MAAM,+BAA+B,6yBAwBX,CAAC;AAElC,eAAO,MAAM,uCAAuC,01BAwBnB,CAAC;AAElC,eAAO,MAAM,4BAA4B,2sBAsBoI,CAAC;AAE9K,eAAO,MAAM,qCAAqC,oiCA8B4J,CAAC;AAE/M,eAAO,MAAM,8BAA8B,knCA4BV,CAAC;AAElC,eAAO,MAAM,wBAAwB,0oBAY6K,CAAC;AAEnN,eAAO,MAAM,sCAAsC,k1CA6BlB,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,oBAAoB,CAClC,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAkGR;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAC1C,SAAS,SAAS,UAMnB;AAED,eAAO,MAAM,+BAA+B,QA6DhC,CAAC;AAEb,eAAO,MAAM,kCAAkC,QAuBnC,CAAC"}
@@ -19,7 +19,7 @@ export const AGENT_ISSUE_CREATION_PROMPT_TEMPLATE = `You are agent {{agent.id}}
19
19
 
20
20
  ## Required Behavior
21
21
 
22
- Interpret the user's instruction and create exactly one real Rudder Issue. Generate a clear, specific title and a complete description that preserves the user's intent and relevant context. Use the stable Rudder Issue creation tool when it is available; otherwise use the existing \`rudder issue create\` CLI compatibility path.
22
+ Interpret the user's instruction and create exactly one real Rudder Issue. Generate a clear, specific title and a complete description that preserves the user's intent and relevant context. Use the stable Rudder \`rudder_issue_create\` MCP tool when it is available; otherwise use the existing \`rudder issue create\` CLI compatibility path.
23
23
 
24
24
  Carry the project, goal, and parent issue context into the created Issue when it is valid and relevant. The request record is already durable; do not create an Issue for the request itself, do not create duplicates, and do not modify unrelated Issues or files. Do not invent an assignee or notification target. After the single Issue is created, report its identifier and stop.`;
25
25
  const RUDDER_GOAL_RUNTIME_BOUNDARY = `This is a Rudder product Goal, not a Codex internal goal. Do not call Codex \`create_goal\`, \`update_goal\`, or \`get_goal\` for it; those tools do not manage Rudder Goals.
@@ -604,7 +604,7 @@ export const ISSUE_PASSIVE_FOLLOWUP_PROMPT_TEMPLATE = `You are agent {{agent.id}
604
604
 
605
605
  ## Why You Were Woken
606
606
 
607
- The previous run ended without sufficient issue close-out.
607
+ The previous run ended without sufficient issue close-out. Continue to progress the current issue.
608
608
 
609
609
  - Origin Run ID: {{context.passiveFollowup.originRunId}}
610
610
  - Previous Run ID: {{context.passiveFollowup.previousRunId}}
@@ -626,7 +626,7 @@ Reason: {{context.passiveFollowup.reason}}
626
626
  {{issue.description}}
627
627
 
628
628
 
629
- Before changing the issue, inspect the current issue state and any side effects from the previous run. Then do exactly one close-out action: add a progress comment, mark the issue done, block it with a reason, or hand it off explicitly with explanation.
629
+ Before changing the issue, continue to progress the current issue, then inspect the current issue state and any side effects from the previous run. Finally, do exactly one close-out action: add a progress comment, mark the issue done, block it with a reason, or hand it off explicitly with explanation.
630
630
  ${ISSUE_ASSIGNEE_EXECUTION_RAIL}`;
631
631
  /**
632
632
  * Selects the base heartbeat prompt template used by runtimes before final prompt assembly.
@@ -28,6 +28,7 @@ describe("server-utils prompt contracts", () => {
28
28
  expect(rendered).toContain("Request ID: request-1");
29
29
  expect(rendered).toContain("Track the browser recovery regression.");
30
30
  expect(rendered).toContain("exactly one real Rudder Issue");
31
+ expect(rendered).toContain("rudder_issue_create");
31
32
  expect(rendered).toContain("rudder issue create");
32
33
  });
33
34
  it("keeps the dedicated prompt on retries when the authoritative request identity is preserved", () => {
@@ -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);