@plainconceptsplatform/workflows 0.4.34 → 0.5.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.
Files changed (73) hide show
  1. package/README.md +88 -88
  2. package/loops/actions/agent-output.cjs +17 -17
  3. package/loops/actions/audit-close/action.yml +24 -0
  4. package/loops/actions/classify-route/action.yml +1 -3
  5. package/loops/actions/classify-route/classify-route.sh +40 -35
  6. package/loops/actions/update-changelog/action.yml +113 -0
  7. package/loops/actions/validate-merge-gate-output/action.yml +40 -40
  8. package/loops/actions/validate-refine-output/validate-refine-output.sh +16 -3
  9. package/loops/actions/validate-review-output/action.yml +35 -35
  10. package/loops/actions/validate-triage-output/action.yml +36 -36
  11. package/loops/actions/verify-route-matrix/verify-route-matrix.sh +91 -36
  12. package/loops/scripts/compile-agent-workflows.mjs +195 -6
  13. package/loops/templates/agentics/agentics-checks.yml +86 -86
  14. package/loops/templates/agentics/agentics-maintenance.yml +121 -121
  15. package/loops/templates/ci/app-ci-dotnet-next.yml +268 -171
  16. package/loops/templates/ci/app-ci-node-monorepo.yml +208 -178
  17. package/loops/templates/issues/bug_report.yml +109 -109
  18. package/loops/templates/issues/feature_request.yml +75 -75
  19. package/loops/templates/opencode/opencode.ci.json +49 -47
  20. package/loops/templates/opencode/opencode.ci.json.md +46 -41
  21. package/loops/templates/release/github-release.yml +30 -30
  22. package/loops/workflows/agent-apply-review.md +465 -443
  23. package/loops/workflows/agent-audit.md +213 -197
  24. package/loops/workflows/agent-implement.md +538 -414
  25. package/loops/workflows/agent-merge-gate.md +730 -584
  26. package/loops/workflows/agent-refine.md +609 -418
  27. package/loops/workflows/agent-release.md +258 -0
  28. package/loops/workflows/agent-triage.md +447 -439
  29. package/loops/workflows/authorize-bot-work.yml +85 -82
  30. package/loops/workflows/shared/opencode-ci.md +206 -197
  31. package/loops/workflows/shared/platform-defaults.md +19 -16
  32. package/loops/workflows/work-router.yml +862 -632
  33. package/package.json +7 -8
  34. package/dist/action-validation.test.d.ts +0 -1
  35. package/dist/action-validation.test.js +0 -84
  36. package/dist/catalog-installation.d.ts +0 -30
  37. package/dist/catalog-installation.js +0 -379
  38. package/dist/catalog-installation.test.d.ts +0 -1
  39. package/dist/catalog-installation.test.js +0 -448
  40. package/dist/catalog-listing.d.ts +0 -13
  41. package/dist/catalog-listing.js +0 -70
  42. package/dist/catalog-listing.test.d.ts +0 -1
  43. package/dist/catalog-listing.test.js +0 -150
  44. package/dist/index.d.ts +0 -2
  45. package/dist/index.js +0 -218
  46. package/dist/index.test.d.ts +0 -1
  47. package/dist/index.test.js +0 -273
  48. package/dist/repository-inspection.d.ts +0 -23
  49. package/dist/repository-inspection.js +0 -113
  50. package/dist/repository-inspection.test.d.ts +0 -1
  51. package/dist/repository-inspection.test.js +0 -77
  52. package/dist/repository-state.d.ts +0 -18
  53. package/dist/repository-state.js +0 -77
  54. package/dist/repository-state.test.d.ts +0 -1
  55. package/dist/repository-state.test.js +0 -96
  56. package/dist/route-processing.d.ts +0 -6
  57. package/dist/route-processing.js +0 -150
  58. package/dist/route-processing.test.d.ts +0 -1
  59. package/dist/route-processing.test.js +0 -350
  60. package/dist/stack-defaults.d.ts +0 -11
  61. package/dist/stack-defaults.js +0 -104
  62. package/dist/stack-defaults.test.d.ts +0 -1
  63. package/dist/stack-defaults.test.js +0 -266
  64. package/dist/tui.d.ts +0 -25
  65. package/dist/tui.js +0 -287
  66. package/dist/tui.test.d.ts +0 -1
  67. package/dist/tui.test.js +0 -246
  68. package/dist/workflow-catalog.d.ts +0 -25
  69. package/dist/workflow-catalog.js +0 -59
  70. package/dist/workflow-catalog.test.d.ts +0 -1
  71. package/dist/workflow-catalog.test.js +0 -29
  72. package/loops/workflows/agent-direct.md +0 -375
  73. package/loops/workflows/agent-propose.md +0 -342
@@ -1,86 +1,86 @@
1
- # Managed by @plainconceptsplatform/workflows. Source: loops/templates/agentics/agentics-checks.yml. Update with `workflows update --force`; consumer edits may be overwritten.
2
- name: Agentics checks
3
-
4
- on:
5
- pull_request:
6
- paths:
7
- - .github/workflows/*.md
8
- - .github/workflows/shared/*.md
9
- - .github/workflows/*.yml
10
- - .github/workflows/aw.json
11
- - .github/actions/**
12
-
13
- env:
14
- GH_AW_VERSION: v0.83.4
15
- ACTIONLINT_VERSION: 1.7.7
16
- ACTIONLINT_SHA256: 023070a287cd8cccd71515fedc843f1985bf96c436b7effaecce67290e7e0757
17
- AGENTICS_COMPILE_COMMAND: gh aw compile --strict
18
-
19
- permissions:
20
- contents: read
21
-
22
- concurrency:
23
- group: agentics-checks-${{ github.event.pull_request.number }}
24
- cancel-in-progress: true
25
-
26
- jobs:
27
- verify-lockfiles:
28
- name: Verify generated agent lockfiles
29
- runs-on: RunnerLandingZone
30
- timeout-minutes: 10
31
- steps:
32
- - name: Checkout repository
33
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
34
- with:
35
- persist-credentials: false
36
- - name: Install gh-aw
37
- uses: github/gh-aw-actions/setup@e89c65e17eb281bbd5ff2ff9e9199a03e96654c7 # v0.83.4
38
- with:
39
- version: ${{ env.GH_AW_VERSION }}
40
- - name: Compile agent workflows strictly
41
- run: ${{ env.AGENTICS_COMPILE_COMMAND }}
42
- - name: Verify generated lockfiles are current
43
- shell: bash
44
- run: |
45
- set -euo pipefail
46
- if git diff --exit-code -- .github/workflows/*.lock.yml; then
47
- exit 0
48
- fi
49
- if git diff --exit-code -I '^[[:space:]]*GH_AW_INFO_MODEL_COSTS:' -- .github/workflows/*.lock.yml; then
50
- echo "::warning::Only volatile GH_AW_INFO_MODEL_COSTS metadata changed."
51
- exit 0
52
- fi
53
- echo "::error::Generated agent lockfiles are stale. Run '${AGENTICS_COMPILE_COMMAND}' and commit the resulting .lock.yml files."
54
- git diff -- .github/workflows/*.lock.yml
55
- exit 1
56
-
57
- lint-workflows:
58
- name: Lint authored workflows and shell
59
- runs-on: RunnerLandingZone
60
- timeout-minutes: 10
61
- steps:
62
- - name: Checkout repository
63
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
64
- with:
65
- persist-credentials: false
66
- - name: Install actionlint
67
- shell: bash
68
- run: |
69
- set -euo pipefail
70
- tarball="$RUNNER_TEMP/actionlint.tar.gz"
71
- curl -fsSL -o "$tarball" "https://github.com/rhysd/actionlint/releases/download/v${ACTIONLINT_VERSION}/actionlint_${ACTIONLINT_VERSION}_linux_amd64.tar.gz"
72
- echo "${ACTIONLINT_SHA256} $tarball" | sha256sum --check --strict
73
- mkdir -p "$RUNNER_TEMP/bin"
74
- tar -xzf "$tarball" -C "$RUNNER_TEMP/bin" actionlint
75
- echo "$RUNNER_TEMP/bin" >> "$GITHUB_PATH"
76
- - name: Lint authored workflows
77
- shell: bash
78
- run: |
79
- set -euo pipefail
80
- mapfile -t authored < <(git ls-files '.github/workflows/*.yml' | grep -vE '\.lock\.yml$|agentics-maintenance\.yml$')
81
- if [ "${#authored[@]}" -gt 0 ]; then
82
- actionlint "${authored[@]}"
83
- fi
84
- - name: Lint composite action shell
85
- shell: bash
86
- run: find .github/actions -name '*.sh' -print0 | xargs -0 -r shellcheck -x
1
+ # Managed by @plainconceptsplatform/workflows. Source: loops/templates/agentics/agentics-checks.yml. Update with `workflows update --force`; consumer edits may be overwritten.
2
+ name: Agentics checks
3
+
4
+ on:
5
+ pull_request:
6
+ paths:
7
+ - .github/workflows/*.md
8
+ - .github/workflows/shared/*.md
9
+ - .github/workflows/*.yml
10
+ - .github/workflows/aw.json
11
+ - .github/actions/**
12
+
13
+ env:
14
+ GH_AW_VERSION: v0.83.4
15
+ ACTIONLINT_VERSION: 1.7.7
16
+ ACTIONLINT_SHA256: 023070a287cd8cccd71515fedc843f1985bf96c436b7effaecce67290e7e0757
17
+ AGENTICS_COMPILE_COMMAND: gh aw compile --strict
18
+
19
+ permissions:
20
+ contents: read
21
+
22
+ concurrency:
23
+ group: agentics-checks-${{ github.event.pull_request.number }}
24
+ cancel-in-progress: true
25
+
26
+ jobs:
27
+ verify-lockfiles:
28
+ name: Verify generated agent lockfiles
29
+ runs-on: ubuntu-latest
30
+ timeout-minutes: 10
31
+ steps:
32
+ - name: Checkout repository
33
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
34
+ with:
35
+ persist-credentials: false
36
+ - name: Install gh-aw
37
+ uses: github/gh-aw-actions/setup@e89c65e17eb281bbd5ff2ff9e9199a03e96654c7 # v0.83.4
38
+ with:
39
+ version: ${{ env.GH_AW_VERSION }}
40
+ - name: Compile agent workflows strictly
41
+ run: ${{ env.AGENTICS_COMPILE_COMMAND }}
42
+ - name: Verify generated lockfiles are current
43
+ shell: bash
44
+ run: |
45
+ set -euo pipefail
46
+ if git diff --exit-code -- .github/workflows/*.lock.yml; then
47
+ exit 0
48
+ fi
49
+ if git diff --exit-code -I '^[[:space:]]*GH_AW_INFO_MODEL_COSTS:' -- .github/workflows/*.lock.yml; then
50
+ echo "::warning::Only volatile GH_AW_INFO_MODEL_COSTS metadata changed."
51
+ exit 0
52
+ fi
53
+ echo "::error::Generated agent lockfiles are stale. Run '${AGENTICS_COMPILE_COMMAND}' and commit the resulting .lock.yml files."
54
+ git diff -- .github/workflows/*.lock.yml
55
+ exit 1
56
+
57
+ lint-workflows:
58
+ name: Lint authored workflows and shell
59
+ runs-on: ubuntu-latest
60
+ timeout-minutes: 10
61
+ steps:
62
+ - name: Checkout repository
63
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
64
+ with:
65
+ persist-credentials: false
66
+ - name: Install actionlint
67
+ shell: bash
68
+ run: |
69
+ set -euo pipefail
70
+ tarball="$RUNNER_TEMP/actionlint.tar.gz"
71
+ curl -fsSL -o "$tarball" "https://github.com/rhysd/actionlint/releases/download/v${ACTIONLINT_VERSION}/actionlint_${ACTIONLINT_VERSION}_linux_amd64.tar.gz"
72
+ echo "${ACTIONLINT_SHA256} $tarball" | sha256sum --check --strict
73
+ mkdir -p "$RUNNER_TEMP/bin"
74
+ tar -xzf "$tarball" -C "$RUNNER_TEMP/bin" actionlint
75
+ echo "$RUNNER_TEMP/bin" >> "$GITHUB_PATH"
76
+ - name: Lint authored workflows
77
+ shell: bash
78
+ run: |
79
+ set -euo pipefail
80
+ mapfile -t authored < <(git ls-files '.github/workflows/*.yml' | grep -vE '\.lock\.yml$|agentics-maintenance\.yml$')
81
+ if [ "${#authored[@]}" -gt 0 ]; then
82
+ actionlint "${authored[@]}"
83
+ fi
84
+ - name: Lint composite action shell
85
+ shell: bash
86
+ run: find .github/actions -name '*.sh' -print0 | xargs -0 -r shellcheck -x
@@ -1,121 +1,121 @@
1
- # Managed by @plainconceptsplatform/workflows. Source: loops/templates/agentics/agentics-maintenance.yml. Update with `workflows update --force`; consumer edits may be overwritten.
2
- # Derived from the gh-aw v0.83.4 maintenance workflow.
3
- # Copy provenance is documented in docs/ownership.md.
4
- name: Agentic Maintenance
5
-
6
- on:
7
- schedule:
8
- - cron: "37 0 * * *"
9
- workflow_dispatch:
10
- inputs:
11
- operation:
12
- description: Optional maintenance operation to run
13
- required: false
14
- type: choice
15
- default: ""
16
- options:
17
- - ""
18
- - disable
19
- - enable
20
- - update
21
- - upgrade
22
- - safe_outputs
23
- - create_labels
24
- - activity_report
25
- - close_agentic_workflows_issues
26
- - clean_cache_memories
27
- - update_pull_request_branches
28
- - validate
29
- - forecast
30
- run_url:
31
- description: Run URL or run ID required for safe_outputs
32
- required: false
33
- type: string
34
- default: ""
35
- workflow_call:
36
- inputs:
37
- operation:
38
- required: false
39
- type: string
40
- default: ""
41
- run_url:
42
- required: false
43
- type: string
44
- default: ""
45
-
46
- permissions: {}
47
-
48
- jobs:
49
- close-expired-discussions:
50
- if: ${{ !(github.event.repository.fork) && github.event_name != 'push' && (github.event_name != 'workflow_dispatch' && github.event_name != 'workflow_call' || inputs.operation == '') }}
51
- runs-on: RunnerLandingZone
52
- permissions:
53
- discussions: write
54
- steps:
55
- - name: Setup Scripts
56
- uses: github/gh-aw-actions/setup@e89c65e17eb281bbd5ff2ff9e9199a03e96654c7 # v0.83.4
57
- with:
58
- destination: ${{ runner.temp }}/gh-aw/actions
59
- - name: Close expired discussions
60
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
61
- with:
62
- script: |
63
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
64
- setupGlobals(core, github, context, exec, io, getOctokit);
65
- const { main } = require('${{ runner.temp }}/gh-aw/actions/close_expired_discussions.cjs');
66
- await main();
67
- close-expired-issues:
68
- if: ${{ !(github.event.repository.fork) && github.event_name != 'push' && (github.event_name != 'workflow_dispatch' && github.event_name != 'workflow_call' || inputs.operation == '') }}
69
- runs-on: RunnerLandingZone
70
- permissions:
71
- issues: write
72
- steps:
73
- - name: Setup Scripts
74
- uses: github/gh-aw-actions/setup@e89c65e17eb281bbd5ff2ff9e9199a03e96654c7 # v0.83.4
75
- with:
76
- destination: ${{ runner.temp }}/gh-aw/actions
77
- - name: Close expired issues
78
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
79
- with:
80
- script: |
81
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
82
- setupGlobals(core, github, context, exec, io, getOctokit);
83
- const { main } = require('${{ runner.temp }}/gh-aw/actions/close_expired_issues.cjs');
84
- await main();
85
- close-expired-pull-requests:
86
- if: ${{ !(github.event.repository.fork) && github.event_name != 'push' && (github.event_name != 'workflow_dispatch' && github.event_name != 'workflow_call' || inputs.operation == '') }}
87
- runs-on: RunnerLandingZone
88
- permissions:
89
- pull-requests: write
90
- steps:
91
- - name: Setup Scripts
92
- uses: github/gh-aw-actions/setup@e89c65e17eb281bbd5ff2ff9e9199a03e96654c7 # v0.83.4
93
- with:
94
- destination: ${{ runner.temp }}/gh-aw/actions
95
- - name: Close expired pull requests
96
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
97
- with:
98
- script: |
99
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
100
- setupGlobals(core, github, context, exec, io, getOctokit);
101
- const { main } = require('${{ runner.temp }}/gh-aw/actions/close_expired_pull_requests.cjs');
102
- await main();
103
- cleanup-cache-memory:
104
- if: ${{ !(github.event.repository.fork) && github.event_name != 'push' && (github.event_name != 'workflow_dispatch' && github.event_name != 'workflow_call' || inputs.operation == '' || inputs.operation == 'clean_cache_memories') }}
105
- runs-on: RunnerLandingZone
106
- permissions:
107
- actions: write
108
- steps:
109
- - name: Setup Scripts
110
- uses: github/gh-aw-actions/setup@e89c65e17eb281bbd5ff2ff9e9199a03e96654c7 # v0.83.4
111
- with:
112
- destination: ${{ runner.temp }}/gh-aw/actions
113
- - name: Cleanup outdated cache-memory entries
114
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
115
- with:
116
- script: |
117
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
118
- setupGlobals(core, github, context, exec, io, getOctokit);
119
- const { main } = require('${{ runner.temp }}/gh-aw/actions/cleanup_cache_memory.cjs');
120
- await main();
121
- #
1
+ # Managed by @plainconceptsplatform/workflows. Source: loops/templates/agentics/agentics-maintenance.yml. Update with `workflows update --force`; consumer edits may be overwritten.
2
+ # Derived from the gh-aw v0.83.4 maintenance workflow.
3
+ # Copy provenance is documented in docs/ownership.md.
4
+ name: Agentic Maintenance
5
+
6
+ on:
7
+ schedule:
8
+ - cron: "37 0 * * *"
9
+ workflow_dispatch:
10
+ inputs:
11
+ operation:
12
+ description: Optional maintenance operation to run
13
+ required: false
14
+ type: choice
15
+ default: ""
16
+ options:
17
+ - ""
18
+ - disable
19
+ - enable
20
+ - update
21
+ - upgrade
22
+ - safe_outputs
23
+ - create_labels
24
+ - activity_report
25
+ - close_agentic_workflows_issues
26
+ - clean_cache_memories
27
+ - update_pull_request_branches
28
+ - validate
29
+ - forecast
30
+ run_url:
31
+ description: Run URL or run ID required for safe_outputs
32
+ required: false
33
+ type: string
34
+ default: ""
35
+ workflow_call:
36
+ inputs:
37
+ operation:
38
+ required: false
39
+ type: string
40
+ default: ""
41
+ run_url:
42
+ required: false
43
+ type: string
44
+ default: ""
45
+
46
+ permissions: {}
47
+
48
+ jobs:
49
+ close-expired-discussions:
50
+ if: ${{ !(github.event.repository.fork) && github.event_name != 'push' && (github.event_name != 'workflow_dispatch' && github.event_name != 'workflow_call' || inputs.operation == '') }}
51
+ runs-on: ubuntu-latest
52
+ permissions:
53
+ discussions: write
54
+ steps:
55
+ - name: Setup Scripts
56
+ uses: github/gh-aw-actions/setup@e89c65e17eb281bbd5ff2ff9e9199a03e96654c7 # v0.83.4
57
+ with:
58
+ destination: ${{ runner.temp }}/gh-aw/actions
59
+ - name: Close expired discussions
60
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
61
+ with:
62
+ script: |
63
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
64
+ setupGlobals(core, github, context, exec, io, getOctokit);
65
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/close_expired_discussions.cjs');
66
+ await main();
67
+ close-expired-issues:
68
+ if: ${{ !(github.event.repository.fork) && github.event_name != 'push' && (github.event_name != 'workflow_dispatch' && github.event_name != 'workflow_call' || inputs.operation == '') }}
69
+ runs-on: ubuntu-latest
70
+ permissions:
71
+ issues: write
72
+ steps:
73
+ - name: Setup Scripts
74
+ uses: github/gh-aw-actions/setup@e89c65e17eb281bbd5ff2ff9e9199a03e96654c7 # v0.83.4
75
+ with:
76
+ destination: ${{ runner.temp }}/gh-aw/actions
77
+ - name: Close expired issues
78
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
79
+ with:
80
+ script: |
81
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
82
+ setupGlobals(core, github, context, exec, io, getOctokit);
83
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/close_expired_issues.cjs');
84
+ await main();
85
+ close-expired-pull-requests:
86
+ if: ${{ !(github.event.repository.fork) && github.event_name != 'push' && (github.event_name != 'workflow_dispatch' && github.event_name != 'workflow_call' || inputs.operation == '') }}
87
+ runs-on: ubuntu-latest
88
+ permissions:
89
+ pull-requests: write
90
+ steps:
91
+ - name: Setup Scripts
92
+ uses: github/gh-aw-actions/setup@e89c65e17eb281bbd5ff2ff9e9199a03e96654c7 # v0.83.4
93
+ with:
94
+ destination: ${{ runner.temp }}/gh-aw/actions
95
+ - name: Close expired pull requests
96
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
97
+ with:
98
+ script: |
99
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
100
+ setupGlobals(core, github, context, exec, io, getOctokit);
101
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/close_expired_pull_requests.cjs');
102
+ await main();
103
+ cleanup-cache-memory:
104
+ if: ${{ !(github.event.repository.fork) && github.event_name != 'push' && (github.event_name != 'workflow_dispatch' && github.event_name != 'workflow_call' || inputs.operation == '' || inputs.operation == 'clean_cache_memories') }}
105
+ runs-on: ubuntu-latest
106
+ permissions:
107
+ actions: write
108
+ steps:
109
+ - name: Setup Scripts
110
+ uses: github/gh-aw-actions/setup@e89c65e17eb281bbd5ff2ff9e9199a03e96654c7 # v0.83.4
111
+ with:
112
+ destination: ${{ runner.temp }}/gh-aw/actions
113
+ - name: Cleanup outdated cache-memory entries
114
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
115
+ with:
116
+ script: |
117
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
118
+ setupGlobals(core, github, context, exec, io, getOctokit);
119
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/cleanup_cache_memory.cjs');
120
+ await main();
121
+ #