@plainconceptsplatform/workflows 0.24.2 → 0.26.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.
@@ -230,6 +230,14 @@ classify_route() {
230
230
  error="operation 'merge-gate' needs a positive pr-number, got '${INPUT_PR_NUMBER:-}'"
231
231
  fi
232
232
  ;;
233
+ visual-verify)
234
+ if is_issue_number "${INPUT_PR_NUMBER:-}"; then
235
+ route="visual-verify"
236
+ pr_number="${INPUT_PR_NUMBER}"
237
+ else
238
+ error="operation 'visual-verify' needs a positive pr-number, got '${INPUT_PR_NUMBER:-}'"
239
+ fi
240
+ ;;
233
241
  audit)
234
242
  route="${OPERATION}"
235
243
  trigger_kind="${INPUT_TRIGGER_KIND:-manual}"
@@ -68,11 +68,6 @@ runs:
68
68
 
69
69
  [ "$(jq -r '.state' <<<"$pr")" = "OPEN" ] || none "PR #$PR_NUMBER is not open"
70
70
 
71
- # Use GitHub's bot flag because App login formats differ across APIs.
72
- if [ "$(jq -r '.author.is_bot' <<<"$pr")" != "true" ]; then
73
- none "PR #$PR_NUMBER was authored by $(jq -r '.author.login' <<<"$pr"), a human."
74
- fi
75
-
76
71
  issue="$LINKED_ISSUE"
77
72
 
78
73
  if [ -z "$issue" ]; then
@@ -67,6 +67,9 @@ run-name: >-
67
67
  && inputs.operation == 'merge-gate'
68
68
  && format('Working (Merge Gate): PR #{0}', inputs.pr-number)
69
69
  || github.event_name == 'workflow_dispatch'
70
+ && inputs.operation == 'visual-verify'
71
+ && format('Working (Visual Verify): PR #{0}', inputs.pr-number)
72
+ || github.event_name == 'workflow_dispatch'
70
73
  && inputs.operation == 'batch'
71
74
  && format('Working (Batch): #{0}', inputs.issue-number)
72
75
  || github.event_name == 'workflow_dispatch'
@@ -175,6 +178,7 @@ on:
175
178
  - triage
176
179
  - apply-review
177
180
  - merge-gate
181
+ - visual-verify
178
182
  - audit
179
183
  - audit-close
180
184
  - cleanup-artifacts
@@ -598,6 +602,19 @@ jobs:
598
602
  BOT_PRIVATE_KEY: ${{ secrets.BOT_PRIVATE_KEY }}
599
603
  AGENTMEMORY_SECRET: ${{ secrets.AGENTMEMORY_SECRET }}
600
604
 
605
+ call-visual-verify:
606
+ needs: classify
607
+ if: needs.classify.outputs.route == 'visual-verify'
608
+ uses: ./.github/workflows/agent-visual-verify.lock.yml
609
+ permissions: write-all
610
+ with:
611
+ pr-number: ${{ needs.classify.outputs.pr-number }}
612
+ linked-issue: ${{ needs.classify.outputs.linked-issue }}
613
+ secrets:
614
+ OPENAI_API_KEY: ${{ secrets.FORGE_API_KEY }}
615
+ CODEX_API_KEY: ${{ secrets.FORGE_API_KEY }}
616
+ COPILOT_GITHUB_TOKEN: ${{ secrets.FORGE_API_KEY }}
617
+
601
618
  call-audit:
602
619
  needs: classify
603
620
  if: needs.classify.outputs.route == 'audit'
@@ -667,10 +684,10 @@ jobs:
667
684
  # pull_request_target. Two entry points:
668
685
  # opened / reopened / synchronize → check the pull request that changed. Gated to this
669
686
  # repository's own branches so a fork PR never starts this App-token job.
670
- # closed & merged → the target branch moved, so re-check every open bot
687
+ # closed & merged → the target branch moved, so re-check every open
671
688
  # pull request that may have just become conflicted (the "main changed after another PR
672
689
  # merged" case). A merge into the default branch is an inherently trusted internal event.
673
- # It dispatches only for bot-authored, open, non-draft pull requests whose head is this
690
+ # It dispatches only for open, non-draft pull requests whose head is this
674
691
  # repository AND whose CI has already concluded (dispatching while CI is still pending would
675
692
  # make the gate read a 'pending' verdict and prematurely ask for human review; that PR is
676
693
  # covered by the CI-completion route instead). The gate's subject job re-validates ownership
@@ -715,8 +732,8 @@ jobs:
715
732
  run: |
716
733
  set -euo pipefail
717
734
 
718
- # Dispatch the Merge Gate for one pull request when it is a red-CI open, non-draft,
719
- # bot-authored pull request on this repository whose CI has concluded — the
735
+ # Dispatch the Merge Gate for one pull request when it is a red-CI open, non-draft
736
+ # pull request on this repository whose CI has concluded — the
720
737
  # conflict case is one arm of that, because a conflicting PR never gets a fresh
721
738
  # CI run of its own; a merge conflict with red or concluded CI is the same
722
739
  # "needs the gate" signal. A green non-conflicting PR is left for the merge belt
@@ -760,7 +777,6 @@ jobs:
760
777
  [ -n "$meta" ] || return 0
761
778
  if [ "$(jq -r '.state' <<<"$meta")" != "open" ] \
762
779
  || [ "$(jq -r '.draft' <<<"$meta")" != "false" ] \
763
- || [ "$(jq -r '.bot' <<<"$meta")" != "Bot" ] \
764
780
  || [ "$(jq -r '.head' <<<"$meta")" != "$REPO" ]; then
765
781
  return 0
766
782
  fi
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plainconceptsplatform/workflows",
3
- "version": "0.24.2",
3
+ "version": "0.26.0",
4
4
  "description": "Install and update Platform GitHub agentic workflows.",
5
5
  "keywords": [
6
6
  "github-actions",