chore: standardize the ai-agent caller stub #41

Merged
ffaerber merged 1 commits from chore/standard-caller into main 2026-07-04 11:24:50 +02:00
2 changed files with 14 additions and 4 deletions
+4 -2
View File
@@ -1,6 +1,8 @@
name: ai-agent
# Thin caller so the agents work on THIS repo too (their own workflow). Same shared logic.
# New issues opened by ffaerber auto-start @pm; @mention an agent in a comment to route on replies.
# Standard caller for the shared AI-agent workflow (ffaerber/agents). Copy this file VERBATIM into
# any repo that should get the agents — it is identical in every repo. All logic + scripts live in
# agents/.gitea/workflows/; scripts are fetched from @main at run time. The `jobs.agent` wrapper is
# required: a reusable (workflow_call) workflow can only be invoked from a caller job, not top-level.
on:
issue_comment:
types: [created]
+10 -2
View File
@@ -29,10 +29,16 @@ detail out of agents that shouldn't act on it while still letting them know the
## Use it in a repo
Add `.gitea/workflows/ai-agent.yml` to the consuming repo:
**The standard caller is one file, identical in every repo.** Copy this repo's own
[`.gitea/workflows/ai-agent.yml`](.gitea/workflows/ai-agent.yml) verbatim into the consuming repo —
it is the source of truth, and `agents` itself uses the same file:
```yaml
name: ai-agent
# Standard caller for the shared AI-agent workflow (ffaerber/agents). Copy this file VERBATIM into
# any repo that should get the agents — it is identical in every repo. All logic + scripts live in
# agents/.gitea/workflows/; scripts are fetched from @main at run time. The `jobs.agent` wrapper is
# required: a reusable (workflow_call) workflow can only be invoked from a caller job, not top-level.
on:
issue_comment:
types: [created]
@@ -44,7 +50,9 @@ jobs:
secrets: inherit
```
That's the whole per-repo footprint. All the logic (agent registry, routing, delegation,
That's the whole per-repo footprint, and it's the minimum a caller can be: the `on:` triggers must
live in each repo (a reusable workflow can't declare its callers' triggers) and the `jobs.agent`
wrapper is mandatory for `workflow_call`. Everything else (agent registry, routing, delegation,
reactions, PR/issue plumbing) lives here in `agent.yml`.
## Repo layout