Skip to content

events workflow bot filter too narrow: causes runaway feedback loops #4

@genesis-dev-bot

Description

@genesis-dev-bot

What went wrong

The scaffolded genesis-events.yml uses a single-actor bot check that misses the genesis app bot and Claude agent bot identities, causing runaway feedback loops when agents post issue comments.

Default condition in scaffold:

if: github.actor != 'github-actions[bot]'

This excludes github-actions[bot] but NOT genesis-dev-bot[bot] or claude[bot]. Bot issue comments trigger new event runs, which make more comments, creating cascading concurrent runs. In ronny-learns-ai, this queued 30+ concurrent orchestrator runs before the health agent caught it.

Which project hit it

Sayfan-AI/ronny-learns-ai (April 2026, issue #13 in that repo).

Proposed fix

Change the scaffold default to use a list-based exclusion:

if: "!contains(fromJSON('[\"github-actions[bot]\", \"genesis-dev-bot[bot]\", \"claude[bot]\"]'), github.actor)"

The claude-code-action allowed_bots parameter only controls who can invoke the agent; it does not prevent the job from triggering. The if: condition on the job is the right place for this guard.

Consider adding this as a top-level env variable or matrix listing known bot identities so projects can extend it without understanding the fromJSON expression syntax.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions