@volter/supercode-orchestrator 0.5.134 → 0.5.136

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.
@@ -2895,6 +2895,11 @@ function noCodeReviewDue(board, id) {
2895
2895
  });
2896
2896
  }
2897
2897
 
2898
+ /** Whether the arc's last review event is a pass: its review is over, and neither requested, returned nor voided since. */
2899
+ function passedReview(board, id) {
2900
+ return view(board, (db) => db.prepare("SELECT kind FROM task_events WHERE task_id = ? AND kind IN ('review_requested', 'changes_requested', 'review_pass','review_voided') ORDER BY id DESC LIMIT 1").get(id)?.kind === 'review_pass');
2901
+ }
2902
+
2898
2903
  /** Whether a card body ticks some outcome under its Acceptance heading. */
2899
2904
  function outcomeTicked(body) {
2900
2905
  let acceptance = false;
@@ -2947,7 +2952,10 @@ async function activatePullRequestReviews(board, entry, report, effects, { only
2947
2952
  // requested the next run is the implementer's, until a new head is pushed.
2948
2953
  // An arc that closed its tasks having changed no code gets its one review of the act itself (ADR 0003).
2949
2954
  if (!payload && noCodeReviewDue(board, id)) payload = await noCodeChange(board, id);
2950
- if (!payload) { report.queued.push([id, 'review waits: no open or unjudged merged PR on its declared branches, and no completed disposition']); continue; }
2955
+ // An arc whose last verdict is a pass, with nothing unjudged since, waits on no review: what is left is its
2956
+ // session's done request and the manager's or creator's `complete`, and the round says that (volter-org
2957
+ // t_b499d0cf and t_a2bd2a5f were logged as waiting for a review every round for hours after theirs passed).
2958
+ if (!payload) { report.queued.push([id, passedReview(board, id) ? 'its review passed and no PR head is unjudged since: no review is due; the arc waits on `complete`' : 'review waits: no open or unjudged merged PR on its declared branches, and no completed disposition']); continue; }
2951
2959
  if (payload.waits) { report.queued.push([id, `review waits: ${payload.waits}`]); payload = null; continue; }
2952
2960
  if (!payload.no_code && !await reviewDue(board, id, payload.pr.map((url, index) => ({ url, head: payload.pr_head[index] })))) {
2953
2961
  report.queued.push([id, `review waits: every open PR head (${payload.pr.join(', ')}) has a verdict or predates the last one; push a commit that answers it`]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volter/supercode-orchestrator",
3
- "version": "0.5.134",
3
+ "version": "0.5.136",
4
4
  "type": "module",
5
5
  "description": "The orchestrator runtime over the Volter Harness ontology: one typed operational model whose folder is its serialization, read and written through the harness orchestration doors (docs/ORCHESTRATOR-IR.md)",
6
6
  "exports": {
@@ -24,8 +24,8 @@
24
24
  "check-types": "node scripts/generate-types.mjs --check"
25
25
  },
26
26
  "dependencies": {
27
- "@volter/supercode-harness-sdk": "^0.3.89",
28
- "@volter/teams": "0.2.52",
27
+ "@volter/supercode-harness-sdk": "^0.3.90",
28
+ "@volter/teams": "0.2.53",
29
29
  "@volter/ztrack": "^2.4.23",
30
30
  "yaml": "^2.9.0"
31
31
  },