fix(agents): use correct IssueMeta schema for Forgejo dependency API
CI / helm (push) Successful in 33s
CI / lint (push) Successful in 3m49s
CI / build (push) Successful in 3m50s
CI / quality (push) Successful in 4m14s
CI / typecheck (push) Successful in 4m26s
CI / security (push) Successful in 4m35s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Failing after 6m32s
CI / docker (push) Has been skipped
CI / e2e_tests (push) Failing after 14m44s
CI / coverage (push) Successful in 13m11s
CI / integration_tests (push) Failing after 21m29s
CI / status-check (push) Failing after 1s
CI / benchmark-publish (push) Successful in 1h12m37s

The Forgejo blocks/dependencies REST API requires the IssueMeta schema
with owner, repo, and index fields — not the undocumented dependency_id
field that was previously used. All 10 curl examples across 6 agent
definitions were using {"dependency_id": N} which returns a 404
IsErrRepoNotExist error. Updated to the correct format:
{"owner": "<owner>", "repo": "<repo>", "index": N}

Files updated:
- ca-new-issue-creator.md (2 occurrences)
- ca-pr-api-creator.md (1 occurrence)
- ca-state-reconciler.md (1 occurrence)
- ca-project-owner.md (1 occurrence)
- ca-backlog-groomer.md (2 occurrences)
- ca-epic-planner.md (3 occurrences)

ISSUES CLOSED: #2750
This commit is contained in:
2026-04-04 17:30:45 +00:00
parent 4db53ae830
commit 2c736373cc
6 changed files with 10 additions and 10 deletions
+2 -2
View File
@@ -333,7 +333,7 @@ missing or incorrect links using the Forgejo REST API.
curl -s -X POST "https://<HOST>/api/v1/repos/<owner>/<repo>/issues/<CHILD>/blocks" \
-H "Authorization: token <PAT>" \
-H "Content-Type: application/json" \
-d '{"dependency_id": <PARENT_EPIC>}'
-d '{"owner": "<owner>", "repo": "<repo>", "index": <PARENT_EPIC>}'
```
- If no parent is identifiable, post a comment flagging the orphan.
@@ -350,7 +350,7 @@ missing or incorrect links using the Forgejo REST API.
curl -s -X POST "https://<HOST>/api/v1/repos/<owner>/<repo>/issues/<PR_NUMBER>/blocks" \
-H "Authorization: token <PAT>" \
-H "Content-Type: application/json" \
-d '{"dependency_id": <ISSUE_NUMBER>}'
-d '{"owner": "<owner>", "repo": "<repo>", "index": <ISSUE_NUMBER>}'
```
- **Check direction**: if the issue is blocking the PR (wrong direction),
this creates a deadlock — Forgejo prevents PR merge until the issue is
+3 -3
View File
@@ -210,7 +210,7 @@ Create **child Issues** under each Epic with:
curl -s -X POST "https://<FORGEJO_HOST>/api/v1/repos/<owner>/<repo>/issues/<EPIC_NUMBER>/blocks" \
-H "Authorization: token <FORGEJO_PAT>" \
-H "Content-Type: application/json" \
-d '{"dependency_id": <LEGENDARY_NUMBER>}'
-d '{"owner": "<owner>", "repo": "<repo>", "index": <LEGENDARY_NUMBER>}'
```
**For each child Issue created**, execute these Forgejo API calls:
@@ -222,7 +222,7 @@ Create **child Issues** under each Epic with:
curl -s -X POST "https://<FORGEJO_HOST>/api/v1/repos/<owner>/<repo>/issues/<CHILD_NUMBER>/blocks" \
-H "Authorization: token <FORGEJO_PAT>" \
-H "Content-Type: application/json" \
-d '{"dependency_id": <EPIC_NUMBER>}'
-d '{"owner": "<owner>", "repo": "<repo>", "index": <EPIC_NUMBER>}'
```
4. Create inter-issue dependency links where ordering matters:
```bash
@@ -230,7 +230,7 @@ Create **child Issues** under each Epic with:
curl -s -X POST "https://<FORGEJO_HOST>/api/v1/repos/<owner>/<repo>/issues/<A>/blocks" \
-H "Authorization: token <FORGEJO_PAT>" \
-H "Content-Type: application/json" \
-d '{"dependency_id": <B>}'
-d '{"owner": "<owner>", "repo": "<repo>", "index": <B>}'
```
### 4. Comment on Each Epic
+2 -2
View File
@@ -109,7 +109,7 @@ Follow the format specified in CONTRIBUTING.md "Creating Issues":
curl -s -X POST "https://<FORGEJO_HOST>/api/v1/repos/<owner>/<repo>/issues/<CHILD_ISSUE_NUMBER>/blocks" \
-H "Authorization: token <FORGEJO_PAT>" \
-H "Content-Type: application/json" \
-d '{"dependency_id": <PARENT_EPIC_NUMBER>}'
-d '{"owner": "<owner>", "repo": "<repo>", "index": <PARENT_EPIC_NUMBER>}'
```
- If no parent Epic is provided, post a comment on the issue flagging it
as an orphan that needs manual linking.
@@ -120,7 +120,7 @@ Follow the format specified in CONTRIBUTING.md "Creating Issues":
curl -s -X POST "https://<FORGEJO_HOST>/api/v1/repos/<owner>/<repo>/issues/<NEW_ISSUE>/blocks" \
-H "Authorization: token <FORGEJO_PAT>" \
-H "Content-Type: application/json" \
-d '{"dependency_id": <BLOCKED_ISSUE_NUMBER>}'
-d '{"owner": "<owner>", "repo": "<repo>", "index": <BLOCKED_ISSUE_NUMBER>}'
```
7. **Post-creation compliance verification**:
+1 -1
View File
@@ -70,7 +70,7 @@ You will be given:
curl -s -X POST "https://<FORGEJO_HOST>/api/v1/repos/<owner>/<repo>/issues/<PR_NUMBER>/blocks" \
-H "Authorization: token <FORGEJO_PAT>" \
-H "Content-Type: application/json" \
-d '{"dependency_id": <ISSUE_NUMBER>}'
-d '{"owner": "<owner>", "repo": "<repo>", "index": <ISSUE_NUMBER>}'
```
- This makes the PR appear in the issue's "depends on" list, and the
issue appear in the PR's "blocks" list.
+1 -1
View File
@@ -265,7 +265,7 @@ After deciding:
curl -s -X POST "https://<HOST>/api/v1/repos/<owner>/<repo>/issues/<ISSUE>/blocks" \
-H "Authorization: token <FORGEJO_PAT>" \
-H "Content-Type: application/json" \
-d '{"dependency_id": <PARENT_EPIC_NUMBER>}'
-d '{"owner": "<owner>", "repo": "<repo>", "index": <PARENT_EPIC_NUMBER>}'
```
**This is non-negotiable.** Per CONTRIBUTING.md, every non-Epic, non-Legendary
issue MUST be linked to at least one parent Epic. The MCP tools cannot create
+1 -1
View File
@@ -95,7 +95,7 @@ For EVERY non-Epic, non-Legendary issue:
curl -s -X POST "https://<HOST>/api/v1/repos/<owner>/<repo>/issues/<ISSUE>/blocks" \
-H "Authorization: token <PAT>" \
-H "Content-Type: application/json" \
-d '{"dependency_id": <EPIC_NUMBER>}'
-d '{"owner": "<owner>", "repo": "<repo>", "index": <EPIC_NUMBER>}'
```
2. **Every Epic must have a parent Legendary link** (Epic blocks Legendary)