@caseyharalson/orrery 0.14.4 → 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/agent/skills/discovery/SKILL.md +5 -3
- package/agent/skills/orrery-execute/SKILL.md +4 -1
- package/agent/skills/orrery-report/SKILL.md +5 -3
- package/agent/skills/orrery-review/SKILL.md +4 -1
- package/agent/skills/orrery-verify/SKILL.md +5 -3
- package/agent/skills/refine-plan/SKILL.md +6 -4
- package/agent/skills/simulate-plan/SKILL.md +6 -4
- 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
|
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: discovery
|
|
3
3
|
description: >
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
Author an orrery plan — a YAML file under the orrery plans directory that
|
|
5
|
+
the orrery CLI executes step-by-step. Use ONLY when the user explicitly
|
|
6
|
+
asks to create an orrery plan (e.g., "make an orrery plan", "use orrery
|
|
7
|
+
discovery", "/discovery"). Do NOT use for general planning, architectural
|
|
8
|
+
discussion, or decomposing ideas unless the output is an orrery plan file.
|
|
7
9
|
hooks:
|
|
8
10
|
PostToolUse:
|
|
9
11
|
- matcher: "Write"
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: orrery-execute
|
|
3
3
|
description: >
|
|
4
|
-
|
|
4
|
+
Implement a single step from an orrery plan (YAML file under the orrery
|
|
5
|
+
plans directory) when invoked by the orrery orchestrator. Do NOT use for
|
|
6
|
+
general coding, bug fixes, or implementation work outside of an orrery
|
|
7
|
+
plan run.
|
|
5
8
|
user-invocable: false
|
|
6
9
|
---
|
|
7
10
|
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: orrery-report
|
|
3
3
|
description: >
|
|
4
|
-
Final reporting phase for
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
Final reporting phase for a single step of an orrery plan, invoked by the
|
|
5
|
+
orrery orchestrator after orrery-verify completes (or when reporting blocked
|
|
6
|
+
status). Outputs structured JSON consumed by the orrery orchestrator. Do
|
|
7
|
+
NOT use for general status summaries or reports outside of an orrery plan
|
|
8
|
+
run.
|
|
7
9
|
user-invocable: false
|
|
8
10
|
---
|
|
9
11
|
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: orrery-review
|
|
3
3
|
description: >
|
|
4
|
-
Review
|
|
4
|
+
Review changes made for a single step of an orrery plan (YAML file under
|
|
5
|
+
the orrery plans directory) when invoked by the orrery orchestrator, and
|
|
6
|
+
produce structured feedback for the editor agent. Do NOT use for general
|
|
7
|
+
code review outside of an orrery plan run.
|
|
5
8
|
user-invocable: false
|
|
6
9
|
---
|
|
7
10
|
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: orrery-verify
|
|
3
3
|
description: >
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
and
|
|
4
|
+
Verify a single step from an orrery plan (YAML file under the orrery plans
|
|
5
|
+
directory) when invoked by the orrery orchestrator after orrery-execute.
|
|
6
|
+
Runs the plan step's acceptance criteria, tests, and linting. Do NOT use
|
|
7
|
+
for general test runs, linting, or verification work outside of an orrery
|
|
8
|
+
plan run.
|
|
7
9
|
user-invocable: false
|
|
8
10
|
---
|
|
9
11
|
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: refine-plan
|
|
3
3
|
description: >
|
|
4
|
-
Analyze and improve an existing plan file
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
Analyze and improve an existing orrery plan (YAML file under the orrery
|
|
5
|
+
plans directory). Reviews plan structure, dependencies, context quality,
|
|
6
|
+
and acceptance criteria, then edits the plan file directly. Use ONLY when
|
|
7
|
+
the user explicitly asks to refine an orrery plan and provides a plan file
|
|
8
|
+
argument (e.g., /refine-plan my-plan.yaml). Run `orrery plans-dir` to find
|
|
9
|
+
the plans directory. Do NOT use for general plan or design-doc review.
|
|
8
10
|
hooks:
|
|
9
11
|
PostToolUse:
|
|
10
12
|
- matcher: "Write"
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: simulate-plan
|
|
3
3
|
description: >
|
|
4
|
-
Explore
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
Explore an existing orrery plan (YAML file under the orrery plans directory)
|
|
5
|
+
through conversational dialogue before committing to execution. Use ONLY
|
|
6
|
+
when the user explicitly asks to simulate an orrery plan and provides a
|
|
7
|
+
plan file argument (e.g., /simulate-plan my-plan.yaml, /simulate-plan
|
|
8
|
+
my-plan). Run `orrery plans-dir` to find the plans directory. Do NOT use
|
|
9
|
+
for general "what if" brainstorming outside of an orrery plan.
|
|
8
10
|
---
|
|
9
11
|
|
|
10
12
|
# Simulate Skill
|
|
@@ -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
|
+
};
|