Skip to content

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end) - #58

Open
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification
Open

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end)#58
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification

Conversation

@michaeloboyle

Copy link
Copy Markdown
Collaborator

Problem

Real submissions dead-end at status:pending-review. #44 (Brad Ross / bar181, "AI Symbolic Protocol", opened 2026-08-10) is the live proof: 11 days, no committee case brief, no notification, no score. Zero real upstream submissions have ever moved past pending-review.

Root cause (verified from the Actions history): on 2026-08-10T16:26 when #44 opened, both On Submission and Governance Agent ran and → skipped. Both are gated on issues: types: [opened] + contains(labels, 'status:pending-review'). The project-submission template applies that label at creation, but it is not reliably present in the opened event payload (a well-known GitHub race), so the guard is false and the workflow skips, then never re-fires. pages.yml survived only because it also listens to the labeled event.

Fix

Add labeled to the issues trigger on both workflows and guard on:

(action == 'labeled' && label.name == 'status:pending-review')
|| (action == 'opened' && contains(labels, 'status:pending-review'))

Plus an idempotency check in each script (skip if the welcome / case brief is already posted) so opened and labeled cannot double-post.

Verification done

  • YAML parses (both files).
  • Trigger logic fires exactly once in both the race path (opened skips, labeled runs) and the non-race path (opened runs, labeled short-circuits on the idempotency guard).

Not covered here (follow-ups filed)

🤖 Generated with Claude Code

Copilot AI lite review requested due to automatic review settings August 21, 2026 22:57
…ticsorg#44 dead-end)

on-submission and governance-agent gated only on issues:[opened] with a
label check for status:pending-review. The project-submission template
applies that label at creation, but it is not reliably present in the
opened event payload (GitHub race), so both workflows SKIPPED on real
submissions (verified on agenticsorg#44, 2026-08-10: both runs skipped, no welcome,
no case brief, no committee notification). pages.yml survived only because
it also listens to the labeled event.

Fix: add labeled to the issues trigger and guard on
(action==labeled && label.name==pending-review) || (action==opened && has-label),
plus an idempotency check (skip if welcome / case brief already posted) so
the two events cannot double-post.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@michaeloboyle
michaeloboyle force-pushed the fix/label-race-intake-notification branch from c2c5331 to 7c8c18b Compare August 21, 2026 23:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a GitHub Issues label race that caused real project submissions to stall at status:pending-review by ensuring the intake workflows run when the status:pending-review label is applied (via labeled), while adding script-level idempotency guards to avoid double-posting.

Changes:

  • Update On Submission workflow to trigger on issues.labeled as well as issues.opened, with an action-aware guard for status:pending-review.
  • Update Governance Agent workflow similarly, adding an idempotency check before generating/posting the case brief.
  • Append a new RVF attestation transition entry and normalize the existing JSONL line formatting.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
data/rvf/attestation.jsonl Adds/normalizes case-brief-generated transition entries for the RVF audit trail.
.github/workflows/on-submission.yml Adds labeled trigger + guarded condition and a welcome-post idempotency check for intake.
.github/workflows/governance-agent.yml Adds labeled trigger + guarded condition and a case-brief idempotency check to prevent duplicates.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines 44 to 46
concurrency:
group: case-brief-${{ github.event.issue.number }}
cancel-in-progress: true
Comment on lines 16 to +20
triage:
runs-on: ubuntu-latest
if: contains(github.event.issue.labels.*.name, 'status:pending-review')
if: >-
(github.event.action == 'labeled' && github.event.label.name == 'status:pending-review') ||
(github.event.action == 'opened' && contains(github.event.issue.labels.*.name, 'status:pending-review'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants