@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 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 or the
270
- max iteration limit is reached (default: 3).
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}. Proceeding without approval.`
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 = { orchestrate, runOnCompleteHook };
2050
+ module.exports = {
2051
+ orchestrate,
2052
+ runOnCompleteHook,
2053
+ blockStepAfterReviewMaxIterations,
2054
+ REVIEW_MAX_ITERATIONS_BLOCKED_REASON
2055
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@caseyharalson/orrery",
3
- "version": "0.15.0",
3
+ "version": "0.15.1",
4
4
  "description": "Workflow planning and orchestration CLI for AI agents",
5
5
  "license": "MIT",
6
6
  "author": "Casey Haralson",