@plainconceptsplatform/workflows 1.0.9 → 1.0.11

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.
@@ -314,11 +314,16 @@ jobs:
314
314
  # The signal is the item counter, not `code_push_failure_count`. gh-aw treats the fallback
315
315
  # as a *successful* outcome for the item -- the dogfood run logged `Status: success`,
316
316
  # `Successful: 1` and a resolved `GH_AW_CODE_PUSH_FAILURE_COUNT: 0` while filing #11 -- so
317
- # gating on that count posted the wrong message. `create_pull_request` is the only safe
318
- # output this worker permits, so one succeeded item with no pull request number can only
319
- # mean the push fell back to an issue. Nothing produced at all leaves the counter at 0.
317
+ # gating on that count posted the wrong message.
318
+ #
319
+ # The counter alone is not enough, though: a `noop` also counts as one succeeded item, so
320
+ # "items_succeeded != 0 with no PR number" is true for a run that produced nothing to do as
321
+ # well as for a run whose push fell back to an issue. Telling a person their patch was filed
322
+ # as a separate issue when the agent actually said "already fixed on main" is the bug this
323
+ # comment exists to prevent (Odyssey #226). Distinguish them the same way the steps below
324
+ # do: gate on whether the agent actually asked for a pull request.
320
325
  - name: Flag a patch that could not be pushed
321
- if: needs.safe_outputs.outputs.created_pr_number == '' && needs.safe_outputs.outputs.process_safe_outputs_items_succeeded != '0' && needs.safe_outputs.outputs.process_safe_outputs_items_succeeded != ''
326
+ if: needs.safe_outputs.outputs.created_pr_number == '' && needs.safe_outputs.outputs.process_safe_outputs_items_succeeded != '0' && needs.safe_outputs.outputs.process_safe_outputs_items_succeeded != '' && contains(needs.agent.outputs.output_types, 'create_pull_request')
322
327
  uses: ./.github/actions/add-issue-labels
323
328
  with:
324
329
  token: ${{ steps.app-token.outputs.token }}
@@ -327,7 +332,7 @@ jobs:
327
332
  ${{ env.REVIEW_LABEL }}
328
333
  ${{ env.STALLED_LABEL }}
329
334
  - name: Say where the patch went
330
- if: needs.safe_outputs.outputs.created_pr_number == '' && needs.safe_outputs.outputs.process_safe_outputs_items_succeeded != '0' && needs.safe_outputs.outputs.process_safe_outputs_items_succeeded != ''
335
+ if: needs.safe_outputs.outputs.created_pr_number == '' && needs.safe_outputs.outputs.process_safe_outputs_items_succeeded != '0' && needs.safe_outputs.outputs.process_safe_outputs_items_succeeded != '' && contains(needs.agent.outputs.output_types, 'create_pull_request')
331
336
  uses: ./.github/actions/create-issue-comment
332
337
  with:
333
338
  token: ${{ steps.app-token.outputs.token }}
@@ -368,7 +373,7 @@ jobs:
368
373
  ${{ env.OUTPUT_NOT_APPLIED_COMMENT }}
369
374
  [View this workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
370
375
  - name: Release an issue the agent found nothing to do on
371
- if: needs.safe_outputs.outputs.created_pr_number == '' && (needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '0' || needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '') && !contains(needs.agent.outputs.output_types, 'create_pull_request') && contains(needs.agent.outputs.output_types, 'noop')
376
+ if: needs.safe_outputs.outputs.created_pr_number == '' && !contains(needs.agent.outputs.output_types, 'create_pull_request') && contains(needs.agent.outputs.output_types, 'noop')
372
377
  uses: ./.github/actions/add-issue-labels
373
378
  with:
374
379
  token: ${{ steps.app-token.outputs.token }}
@@ -376,14 +381,14 @@ jobs:
376
381
  labels: |-
377
382
  ${{ env.REVIEW_LABEL }}
378
383
  - name: Take the implement label off a decided issue
379
- if: needs.safe_outputs.outputs.created_pr_number == '' && (needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '0' || needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '') && !contains(needs.agent.outputs.output_types, 'create_pull_request') && contains(needs.agent.outputs.output_types, 'noop')
384
+ if: needs.safe_outputs.outputs.created_pr_number == '' && !contains(needs.agent.outputs.output_types, 'create_pull_request') && contains(needs.agent.outputs.output_types, 'noop')
380
385
  uses: ./.github/actions/remove-issue-labels
381
386
  with:
382
387
  token: ${{ steps.app-token.outputs.token }}
383
388
  issue-number: ${{ inputs.issue-number }}
384
389
  labels: ${{ env.IMPLEMENT_LABEL }}
385
390
  - name: Say there was nothing to do
386
- if: needs.safe_outputs.outputs.created_pr_number == '' && (needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '0' || needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '') && !contains(needs.agent.outputs.output_types, 'create_pull_request') && contains(needs.agent.outputs.output_types, 'noop')
391
+ if: needs.safe_outputs.outputs.created_pr_number == '' && !contains(needs.agent.outputs.output_types, 'create_pull_request') && contains(needs.agent.outputs.output_types, 'noop')
387
392
  uses: ./.github/actions/create-issue-comment
388
393
  with:
389
394
  token: ${{ steps.app-token.outputs.token }}
@@ -393,7 +398,7 @@ jobs:
393
398
  ${{ env.NOOP_COMMENT }}
394
399
  [View this workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
395
400
  - name: Flag a patch nobody asked to publish
396
- if: needs.safe_outputs.outputs.created_pr_number == '' && (needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '0' || needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '') && !contains(needs.agent.outputs.output_types, 'create_pull_request') && !contains(needs.agent.outputs.output_types, 'noop') && needs.agent.outputs.has_patch == 'true'
401
+ if: needs.safe_outputs.outputs.created_pr_number == '' && !contains(needs.agent.outputs.output_types, 'create_pull_request') && !contains(needs.agent.outputs.output_types, 'noop') && needs.agent.outputs.has_patch == 'true'
397
402
  uses: ./.github/actions/add-issue-labels
398
403
  with:
399
404
  token: ${{ steps.app-token.outputs.token }}
@@ -402,7 +407,7 @@ jobs:
402
407
  ${{ env.REVIEW_LABEL }}
403
408
  ${{ env.STALLED_LABEL }}
404
409
  - name: Say the patch was never asked for
405
- if: needs.safe_outputs.outputs.created_pr_number == '' && (needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '0' || needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '') && !contains(needs.agent.outputs.output_types, 'create_pull_request') && !contains(needs.agent.outputs.output_types, 'noop') && needs.agent.outputs.has_patch == 'true'
410
+ if: needs.safe_outputs.outputs.created_pr_number == '' && !contains(needs.agent.outputs.output_types, 'create_pull_request') && !contains(needs.agent.outputs.output_types, 'noop') && needs.agent.outputs.has_patch == 'true'
406
411
  uses: ./.github/actions/create-issue-comment
407
412
  with:
408
413
  token: ${{ steps.app-token.outputs.token }}
@@ -412,7 +417,7 @@ jobs:
412
417
  ${{ env.PATCH_WITHOUT_REQUEST_COMMENT }}
413
418
  [View this workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
414
419
  - name: Flag a run that produced nothing
415
- if: needs.safe_outputs.outputs.created_pr_number == '' && (needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '0' || needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '') && !contains(needs.agent.outputs.output_types, 'create_pull_request') && !contains(needs.agent.outputs.output_types, 'noop') && needs.agent.outputs.has_patch != 'true'
420
+ if: needs.safe_outputs.outputs.created_pr_number == '' && !contains(needs.agent.outputs.output_types, 'create_pull_request') && !contains(needs.agent.outputs.output_types, 'noop') && needs.agent.outputs.has_patch != 'true'
416
421
  uses: ./.github/actions/add-issue-labels
417
422
  with:
418
423
  token: ${{ steps.app-token.outputs.token }}
@@ -421,7 +426,7 @@ jobs:
421
426
  ${{ env.REVIEW_LABEL }}
422
427
  ${{ env.STALLED_LABEL }}
423
428
  - name: Say the run produced nothing
424
- if: needs.safe_outputs.outputs.created_pr_number == '' && (needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '0' || needs.safe_outputs.outputs.process_safe_outputs_items_succeeded == '') && !contains(needs.agent.outputs.output_types, 'create_pull_request') && !contains(needs.agent.outputs.output_types, 'noop') && needs.agent.outputs.has_patch != 'true'
429
+ if: needs.safe_outputs.outputs.created_pr_number == '' && !contains(needs.agent.outputs.output_types, 'create_pull_request') && !contains(needs.agent.outputs.output_types, 'noop') && needs.agent.outputs.has_patch != 'true'
425
430
  uses: ./.github/actions/create-issue-comment
426
431
  with:
427
432
  token: ${{ steps.app-token.outputs.token }}
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  # Managed by @plainconceptsplatform/workflows. Source: loops/workflows/agent-refine.md. Update with `workflows update --force`; consumer edits may be overwritten.
3
3
  env:
4
- REPO_RULES: "Refine only the selected issue into a grounded, implementation-ready user story. Read repository documentation for domain context. Write acceptance criteria that match existing patterns. Where a story or its open questions decide how business data (named people, roles, addresses) is stored, resolve it toward the repository's convention for that data -- a database entity or a settings entry -- and record that choice in the acceptance criteria; do not carry a person's name or email address into the story as something the code reads from a constant. Do not implement code."
4
+ REPO_RULES: "Refine only the selected issue into a grounded, implementation-ready user story. Read repository documentation for domain context. Write acceptance criteria that match existing patterns. Where a story or its open questions decide how business data (named people, roles, addresses) is stored, resolve it toward the repository's convention for that data -- a database entity or a settings entry -- and record that choice in the acceptance criteria; do not carry a person's name or email address into the story as something the code reads from a constant. Do not implement code. Do not use web search or web fetch tools. The issue body already contains the research that motivated it; derive your domain context from the repository's own code and documentation only."
5
5
  # The estimate decides whether a story gets split, and the prompt tells the agent these bands
6
6
  # come from this repository's own merged pull requests. They have to actually come from it, or
7
7
  # the claim is false and every repository sizes work on another one's diffs.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plainconceptsplatform/workflows",
3
- "version": "1.0.9",
3
+ "version": "1.0.11",
4
4
  "description": "Install and update Platform GitHub agentic workflows.",
5
5
  "keywords": [
6
6
  "github-actions",