Introduce central dispatcher pattern #1
No reviewers
Labels
No labels
agent
coordinate
agent
dev
agent
plan
agent
reflect
agent
test
agent
triage
ai/off
blocked
night
blocked
usage
loop
1
loop
2
loop
3
needs/approval
needs/human
needs/input
needs/review
plan/approved
run/night
state
blocked
state
building
state
passed
state
planning
state
testing
tier
fable
tier
haiku
tier
local
tier
opus
tier
sonnet
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
valssi-public/agent-workflows!1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/dispatcher"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Moves all routing out of the per-repo caller and into a central
dispatch.yaml, so project repos carry a frozen, logic-free caller and every behavioural change propagates via@main.Changes
.forgejo/workflows/dispatch.yaml— central router. Reads the inherited event and routes:agent:planlabeled →plan.yamlplan:approvedlabeled byvars.APPROVER→implement.yamlschedule(15-min tick) →tickplaceholder for future scheduled agentscaller-agent.yamlto the minimal "empty" caller: broadon:(notypes:), 15-min cron, singleuses: dispatch.yaml@mainjob withsecrets: inherit. This is the canonical copy to drop into every repo as.forgejo/workflows/agent.yaml.README.mdto document the caller → dispatch → agents architecture.plan.yamlandimplement.yamlare unchanged — they were alreadyworkflow_calland readgithub.eventdirectly, so they slot under the dispatcher as-is.Notes
secrets: inheritis transitive: caller → dispatch → agent, so the dispatcher declares no secrets.act_runner capacity+ labels), not wired here.🤖 Generated with Claude Code