@caseyharalson/orrery 0.15.0 → 0.15.1
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/HELP.md +3 -2
- package/lib/orchestration/index.js +21 -2
- package/package.json +1 -1
package/HELP.md
CHANGED
|
@@ -266,8 +266,9 @@ export ORRERY_REVIEW_ENABLED=true
|
|
|
266
266
|
```
|
|
267
267
|
|
|
268
268
|
The review agent inspects changes after each step. If issues are found, an edit
|
|
269
|
-
agent applies fixes and verification re-runs, repeating until approval
|
|
270
|
-
max iteration limit is reached (default:
|
|
269
|
+
agent applies fixes and verification re-runs, repeating until approval. If the
|
|
270
|
+
max iteration limit is reached without approval, the step is blocked (default:
|
|
271
|
+
3).
|
|
271
272
|
|
|
272
273
|
### Background Execution
|
|
273
274
|
|
|
@@ -80,6 +80,8 @@ const { acquireLock, releaseLock } = require("../utils/lock");
|
|
|
80
80
|
const { isStopRequested, clearStopSignal } = require("../utils/stop-signal");
|
|
81
81
|
|
|
82
82
|
const REPO_ROOT = process.cwd();
|
|
83
|
+
const REVIEW_MAX_ITERATIONS_BLOCKED_REASON =
|
|
84
|
+
"Review max iterations reached without approval.";
|
|
83
85
|
|
|
84
86
|
function parseArgs(argv) {
|
|
85
87
|
const options = {
|
|
@@ -210,6 +212,17 @@ function resolvePlanFile(planArg, plansDir) {
|
|
|
210
212
|
return null;
|
|
211
213
|
}
|
|
212
214
|
|
|
215
|
+
function blockStepAfterReviewMaxIterations(stepResult) {
|
|
216
|
+
return {
|
|
217
|
+
...stepResult,
|
|
218
|
+
status: "blocked",
|
|
219
|
+
summary:
|
|
220
|
+
stepResult.summary ||
|
|
221
|
+
"Step blocked because review did not approve the changes.",
|
|
222
|
+
blockedReason: REVIEW_MAX_ITERATIONS_BLOCKED_REASON
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
|
|
213
226
|
function logDryRunSummary(planFiles) {
|
|
214
227
|
console.log("Dry run: no changes will be made.");
|
|
215
228
|
if (planFiles.length === 0) {
|
|
@@ -1762,8 +1775,9 @@ async function waitForAgentCompletion(
|
|
|
1762
1775
|
|
|
1763
1776
|
if (!approved && currentResult.status === "complete") {
|
|
1764
1777
|
console.log(
|
|
1765
|
-
`[WARN] Review max iterations reached for step ${stepId}.
|
|
1778
|
+
`[WARN] Review max iterations reached for step ${stepId}. Blocking step without approval.`
|
|
1766
1779
|
);
|
|
1780
|
+
currentResult = blockStepAfterReviewMaxIterations(currentResult);
|
|
1767
1781
|
}
|
|
1768
1782
|
|
|
1769
1783
|
stepResult = currentResult;
|
|
@@ -2033,4 +2047,9 @@ if (require.main === module) {
|
|
|
2033
2047
|
});
|
|
2034
2048
|
}
|
|
2035
2049
|
|
|
2036
|
-
module.exports = {
|
|
2050
|
+
module.exports = {
|
|
2051
|
+
orchestrate,
|
|
2052
|
+
runOnCompleteHook,
|
|
2053
|
+
blockStepAfterReviewMaxIterations,
|
|
2054
|
+
REVIEW_MAX_ITERATIONS_BLOCKED_REASON
|
|
2055
|
+
};
|