chore: gardener housekeeping 2026-04-12
This commit is contained in:
parent
4fcbca1bef
commit
246ed9050d
10 changed files with 10 additions and 20 deletions
|
|
@ -1,4 +1,4 @@
|
|||
<!-- last-reviewed: ec7dff854a71d64f427a4e6d6874de8e6dee822c -->
|
||||
<!-- last-reviewed: 4fcbca1bef23734d05a9fc97bb56cd0a6bbcd25f -->
|
||||
# Disinto — Agent Instructions
|
||||
|
||||
## What this repo is
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!-- last-reviewed: ec7dff854a71d64f427a4e6d6874de8e6dee822c -->
|
||||
<!-- last-reviewed: 4fcbca1bef23734d05a9fc97bb56cd0a6bbcd25f -->
|
||||
# Architect — Agent Instructions
|
||||
|
||||
## What this agent is
|
||||
|
|
@ -69,7 +69,7 @@ Vision issues decompose into sprint sub-issues tracked via "Decomposed from #N"
|
|||
1. Before picking new vision issues, the architect checks each open vision issue
|
||||
2. For each, it queries merged sprint PRs — **only PRs whose title or body reference the specific vision issue** (matched via `#N` pattern, filtering out unrelated PRs that happen to close unrelated issues) (#735/#736)
|
||||
3. Extracts sub-issue numbers from those PRs, excluding the vision issue itself
|
||||
4. If all sub-issues are closed, posts a summary comment listing completed sub-issues (with an idempotency guard: skips if a "Vision Issue Completed" comment already exists)
|
||||
4. If all sub-issues are closed, posts a summary comment listing completed sub-issues (with an idempotency guard: checks both comment presence AND `.state == "closed"` — if the comment exists but the issue is still open, retries the close rather than returning early) (#737)
|
||||
5. The vision issue is then closed automatically
|
||||
|
||||
This ensures vision issues transition from `open` → `closed` once their work is complete, without manual intervention. The #N-scoped matching prevents false positives where unrelated sub-issues would incorrectly trigger vision issue closure.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!-- last-reviewed: ec7dff854a71d64f427a4e6d6874de8e6dee822c -->
|
||||
<!-- last-reviewed: 4fcbca1bef23734d05a9fc97bb56cd0a6bbcd25f -->
|
||||
# Dev Agent
|
||||
|
||||
**Role**: Implement issues autonomously — write code, push branches, address
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!-- last-reviewed: ec7dff854a71d64f427a4e6d6874de8e6dee822c -->
|
||||
<!-- last-reviewed: 4fcbca1bef23734d05a9fc97bb56cd0a6bbcd25f -->
|
||||
# Gardener Agent
|
||||
|
||||
**Role**: Backlog grooming — detect duplicate issues, missing acceptance
|
||||
|
|
|
|||
|
|
@ -1,14 +1,4 @@
|
|||
[
|
||||
{
|
||||
"action": "edit_body",
|
||||
"issue": 737,
|
||||
"body": "Flagged by AI reviewer in PR #736.\n\n## Problem\n\n`close_vision_issue()` posts a completion comment and then closes the issue in two separate API calls. The close calls (lines 587-597 of `architect/architect-run.sh`) both use `|| true`, so a failed `state=closed` PATCH is silently ignored.\n\nThe idempotency guard added in PR #736 checks for the completion comment before proceeding. If the comment was posted successfully in a prior run but the close PATCH failed, the guard will now return 0 on all subsequent runs without retrying the close — the vision issue stays open indefinitely with a misleading \"Vision Issue Completed\" comment.\n\n## Fix\n\nAfter posting the comment, verify the issue is actually closed (check `.state` in the PATCH response or re-fetch). If the close fails, return 1 so the next polling cycle retries. The idempotency guard should also verify the issue state, not just the comment presence.\n\n---\n*Auto-created from AI review*\n\n## Acceptance criteria\n\n- [ ] After posting the completion comment, `close_vision_issue()` verifies `.state == \"closed\"` in the PATCH response or re-fetches the issue; if close fails, returns 1\n- [ ] The idempotency guard checks both comment presence AND `.state == \"closed\"` before returning 0; if the comment exists but the issue is still open, attempts the close again\n- [ ] Running `close_vision_issue` twice on a stuck-open issue (comment posted but state still open) retries the close and does not post a duplicate comment\n\n## Affected files\n\n- `architect/architect-run.sh` — `close_vision_issue()` function (~lines 527-600)\n"
|
||||
},
|
||||
{
|
||||
"action": "add_label",
|
||||
"issue": 737,
|
||||
"label": "backlog"
|
||||
},
|
||||
{
|
||||
"action": "edit_body",
|
||||
"issue": 712,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!-- last-reviewed: ec7dff854a71d64f427a4e6d6874de8e6dee822c -->
|
||||
<!-- last-reviewed: 4fcbca1bef23734d05a9fc97bb56cd0a6bbcd25f -->
|
||||
# Shared Helpers (`lib/`)
|
||||
|
||||
All agents source `lib/env.sh` as their first action. Additional helpers are
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!-- last-reviewed: ec7dff854a71d64f427a4e6d6874de8e6dee822c -->
|
||||
<!-- last-reviewed: 4fcbca1bef23734d05a9fc97bb56cd0a6bbcd25f -->
|
||||
# Planner Agent
|
||||
|
||||
**Role**: Strategic planning using a Prerequisite Tree (Theory of Constraints),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!-- last-reviewed: ec7dff854a71d64f427a4e6d6874de8e6dee822c -->
|
||||
<!-- last-reviewed: 4fcbca1bef23734d05a9fc97bb56cd0a6bbcd25f -->
|
||||
# Predictor Agent
|
||||
|
||||
**Role**: Abstract adversary (the "goblin"). Runs a 2-step formula
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!-- last-reviewed: ec7dff854a71d64f427a4e6d6874de8e6dee822c -->
|
||||
<!-- last-reviewed: 4fcbca1bef23734d05a9fc97bb56cd0a6bbcd25f -->
|
||||
# Review Agent
|
||||
|
||||
**Role**: AI-powered PR review — post structured findings and formal
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!-- last-reviewed: ec7dff854a71d64f427a4e6d6874de8e6dee822c -->
|
||||
<!-- last-reviewed: 4fcbca1bef23734d05a9fc97bb56cd0a6bbcd25f -->
|
||||
# Supervisor Agent
|
||||
|
||||
**Role**: Health monitoring and auto-remediation, executed as a formula-driven
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue