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
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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**:
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user