What went wrong: In ronny-learns-ai, milestone 2 and 3 both created duplicate task issues (10 issues for 5 tasks each time). Root cause: concurrent event runs race condition. When a human closes a milestone issue, GitHub fires multiple events simultaneously (issues:closed + issue_comment:created). Without a concurrency group on the events workflow, two orchestrator runs start at the same moment, both run check-duplicate before either has created anything, both see no duplicate, both create the same 5 task issues = 10 total. Evidence: Issues #605 and #607 were created 7 seconds apart by two different event runs that both started at the same moment. Fix applied: Added concurrency group genesis-events (cancel-in-progress: false) to genesis-events.yml. Proposed framework fix: The genesis scaffolded genesis-events.yml template should include this concurrency group by default. Use cancel-in-progress: false (not true) to queue events rather than drop them, since each may carry important state like issue-closed approval signals. Affected project: Sayfan-AI/ronny-learns-ai
What went wrong: In ronny-learns-ai, milestone 2 and 3 both created duplicate task issues (10 issues for 5 tasks each time). Root cause: concurrent event runs race condition. When a human closes a milestone issue, GitHub fires multiple events simultaneously (issues:closed + issue_comment:created). Without a concurrency group on the events workflow, two orchestrator runs start at the same moment, both run check-duplicate before either has created anything, both see no duplicate, both create the same 5 task issues = 10 total. Evidence: Issues #605 and #607 were created 7 seconds apart by two different event runs that both started at the same moment. Fix applied: Added concurrency group genesis-events (cancel-in-progress: false) to genesis-events.yml. Proposed framework fix: The genesis scaffolded genesis-events.yml template should include this concurrency group by default. Use cancel-in-progress: false (not true) to queue events rather than drop them, since each may carry important state like issue-closed approval signals. Affected project: Sayfan-AI/ronny-learns-ai