agentxchain 2.155.13 → 2.155.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/lib/dispatch-bundle.js +12 -0
package/package.json
CHANGED
|
@@ -529,6 +529,12 @@ function renderPrompt(role, roleId, turn, state, config, root) {
|
|
|
529
529
|
lines.push(`- **You are in the \`${currentPhase}\` phase.** When your work is complete${gateClause}, set \`phase_transition_request: "${nextPhase}"\` to advance to the next phase.`);
|
|
530
530
|
} else if (phaseIdx === phaseNames.length - 1) {
|
|
531
531
|
lines.push(`- **You are in the \`${currentPhase}\` phase (final phase).** When ready to ship, set \`run_completion_request: true\` and \`phase_transition_request: null\`.`);
|
|
532
|
+
if (runCompletionAutoApprovalApplies(config)) {
|
|
533
|
+
lines.push('- Run completion is governed by `approval_policy.run_completion.action: "auto_approve"` for this run.');
|
|
534
|
+
lines.push('- Do NOT set `status: "needs_human"` solely to request final run approval. If the required artifacts are complete and there are no genuine blockers, set `status: "completed"` with `run_completion_request: true`; the orchestrator will evaluate and auto-approve completion.');
|
|
535
|
+
} else {
|
|
536
|
+
lines.push('- If final approval is human-gated, set `run_completion_request: true` when ready; the orchestrator will route the approval gate.');
|
|
537
|
+
}
|
|
532
538
|
}
|
|
533
539
|
}
|
|
534
540
|
// Phase-specific guidance for proposed roles
|
|
@@ -542,6 +548,12 @@ function renderPrompt(role, roleId, turn, state, config, root) {
|
|
|
542
548
|
lines.push(`- **You are in the \`${currentPhase}\` phase (not final phase).** When your work is complete${gateClause}, set \`phase_transition_request: "${nextPhase}"\`.`);
|
|
543
549
|
} else if (phaseIdx >= 0 && phaseIdx === phaseNames.length - 1) {
|
|
544
550
|
lines.push(`- **You are in the \`${currentPhase}\` phase (final phase).** When ready to ship, set \`run_completion_request: true\` and \`phase_transition_request: null\`.`);
|
|
551
|
+
if (runCompletionAutoApprovalApplies(config)) {
|
|
552
|
+
lines.push('- Run completion is governed by `approval_policy.run_completion.action: "auto_approve"` for this run.');
|
|
553
|
+
lines.push('- Do NOT set `status: "needs_human"` solely to request final run approval. If the required artifacts are complete and there are no genuine blockers, set `status: "completed"` with `run_completion_request: true`; the orchestrator will evaluate and auto-approve completion.');
|
|
554
|
+
} else {
|
|
555
|
+
lines.push('- If final approval is human-gated, set `run_completion_request: true` when ready; the orchestrator will route the approval gate.');
|
|
556
|
+
}
|
|
545
557
|
if (runtimeType === 'api_proxy' || runtimeType === 'remote_agent') {
|
|
546
558
|
lines.push('- **Completion turns must be no-op:** set `proposed_changes` to `[]` or omit it, set `files_changed` to `[]`, and set `artifact.type` to `"review"`. Do NOT propose file changes on a completion turn.');
|
|
547
559
|
}
|