@caseyharalson/orrery 0.7.2 → 0.8.0
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/lib/orchestration/index.js +34 -2
- package/package.json +1 -1
|
@@ -849,11 +849,14 @@ async function waitForAgentCompletion(
|
|
|
849
849
|
stepResult = createDefaultResult(stepId, result.exitCode, result.stderr);
|
|
850
850
|
}
|
|
851
851
|
|
|
852
|
+
let stepReviews = null;
|
|
852
853
|
if (config.review.enabled && stepResult.status === "complete") {
|
|
853
854
|
const maxIterations = resolveReviewMaxIterations();
|
|
854
855
|
if (maxIterations > 0) {
|
|
855
856
|
let approved = false;
|
|
856
857
|
let currentResult = stepResult;
|
|
858
|
+
const reviews = [];
|
|
859
|
+
stepReviews = reviews;
|
|
857
860
|
|
|
858
861
|
for (let iteration = 1; iteration <= maxIterations; iteration++) {
|
|
859
862
|
console.log(
|
|
@@ -875,6 +878,11 @@ async function waitForAgentCompletion(
|
|
|
875
878
|
|
|
876
879
|
if (reviewResult.approved) {
|
|
877
880
|
console.log(`Review approved for step ${stepId}`);
|
|
881
|
+
reviews.push({
|
|
882
|
+
iteration,
|
|
883
|
+
approved: true,
|
|
884
|
+
feedback: []
|
|
885
|
+
});
|
|
878
886
|
approved = true;
|
|
879
887
|
break;
|
|
880
888
|
}
|
|
@@ -884,6 +892,26 @@ async function waitForAgentCompletion(
|
|
|
884
892
|
`Review needs changes for step ${stepId}: ${issueCount} issue(s)`
|
|
885
893
|
);
|
|
886
894
|
|
|
895
|
+
for (const fb of reviewResult.feedback) {
|
|
896
|
+
const loc = fb.file
|
|
897
|
+
? ` ${fb.file}${fb.line ? `:${fb.line}` : ""}`
|
|
898
|
+
: "";
|
|
899
|
+
const sev =
|
|
900
|
+
fb.severity === "blocking" ? "[blocking]" : "[suggestion]";
|
|
901
|
+
console.log(` ${sev}${loc}: ${fb.comment}`);
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
reviews.push({
|
|
905
|
+
iteration,
|
|
906
|
+
approved: false,
|
|
907
|
+
feedback: reviewResult.feedback.map((fb) => ({
|
|
908
|
+
severity: fb.severity,
|
|
909
|
+
file: fb.file || null,
|
|
910
|
+
line: fb.line || null,
|
|
911
|
+
comment: fb.comment
|
|
912
|
+
}))
|
|
913
|
+
});
|
|
914
|
+
|
|
887
915
|
if (iteration >= maxIterations) {
|
|
888
916
|
break;
|
|
889
917
|
}
|
|
@@ -938,7 +966,7 @@ async function waitForAgentCompletion(
|
|
|
938
966
|
updates.push(update);
|
|
939
967
|
|
|
940
968
|
// Prepare report
|
|
941
|
-
|
|
969
|
+
const reportData = {
|
|
942
970
|
step_id: stepId,
|
|
943
971
|
agent: agentName,
|
|
944
972
|
outcome: stepResult.status === "complete" ? "success" : "failure",
|
|
@@ -947,7 +975,11 @@ async function waitForAgentCompletion(
|
|
|
947
975
|
artifacts: stepResult.artifacts || [],
|
|
948
976
|
blocked_reason: stepResult.blockedReason || null,
|
|
949
977
|
test_results: stepResult.testResults || null
|
|
950
|
-
}
|
|
978
|
+
};
|
|
979
|
+
if (stepReviews) {
|
|
980
|
+
reportData.reviews = stepReviews;
|
|
981
|
+
}
|
|
982
|
+
reports.push(reportData);
|
|
951
983
|
}
|
|
952
984
|
|
|
953
985
|
// Update plan file
|