diff --git a/AGENTS.md b/AGENTS.md index 1254a3b..4f90665 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -311,6 +311,10 @@ Issues flow through these states: | `tech-debt` | Pre-existing issue flagged by AI reviewer, not introduced by a PR. | review-pr.sh (auto-created follow-ups) | | `underspecified` | Dev-agent refused the issue as too large or vague. | dev-poll.sh (on preflight `too_large`), dev-agent.sh (on mid-run `too_large` refusal) | | `vision` | Goal anchors — high-level objectives from VISION.md. | Planner, humans | +| `prediction/unreviewed` | Unprocessed prediction filed by predictor. | prediction-agent.sh | +| `prediction/backlog` | Prediction triaged as WATCH — not urgent, tracked. | Planner (triage-predictions step) | +| `prediction/actioned` | Prediction promoted or dismissed by planner. | Planner (triage-predictions step) | +| `action` | Operational task for the action-agent to execute via formula. | Planner, humans | ### Dependency conventions diff --git a/formulas/run-planner.toml b/formulas/run-planner.toml index 8add108..137029e 100644 --- a/formulas/run-planner.toml +++ b/formulas/run-planner.toml @@ -109,21 +109,33 @@ Evidence from the preflight step informs whether each prediction is valid curl -sf -H "Authorization: token $CODEBERG_TOKEN" \ "$CODEBERG_API/issues?state=open&type=issues&limit=50" +3b. Resolve label IDs needed for triage (fetch via $CODEBERG_API/labels): + - → prediction/unreviewed + - → prediction/backlog + - → prediction/actioned (create if missing, + color #c2e0c6, description "Prediction triaged by planner") + - → backlog + - → action + These are DISTINCT labels — do not reuse IDs across them. + 4. For each prediction, read the title and body. Choose one action: - PROMOTE_ACTION: maps to an available formula → create an action issue with YAML front matter referencing the formula name and vars. - Close the prediction with comment "Actioned as #NNN". + Relabel prediction/unreviewed → prediction/actioned, then close + with comment "Actioned as #NNN — ". - PROMOTE_BACKLOG: warrants dev work → create a backlog issue. - Close the prediction with comment "Actioned as #NNN". + Relabel prediction/unreviewed → prediction/actioned, then close + with comment "Actioned as #NNN — ". - WATCH: not urgent but worth tracking → post a comment explaining why it is not urgent, then relabel from prediction/unreviewed to prediction/backlog. Do NOT close. - DISMISS: noise, already covered by an open issue, or not actionable → - post a comment with explicit reasoning, then close the prediction. + relabel prediction/unreviewed → prediction/actioned, post a comment + with explicit reasoning, then close the prediction. Every decision MUST include reasoning in a comment on the prediction issue. @@ -134,12 +146,19 @@ Evidence from the preflight step informs whether each prediction is valid curl -sf -X POST -H "Authorization: token $CODEBERG_TOKEN" \ -H "Content-Type: application/json" "$CODEBERG_API/issues" \ -d '{"title":"...","body":"...","labels":[]}' - b. Comment on the prediction with "Actioned as #NNN": + b. Comment on the prediction with "Actioned as #NNN — ": curl -sf -X POST -H "Authorization: token $CODEBERG_TOKEN" \ -H "Content-Type: application/json" \ "$CODEBERG_API/issues//comments" \ -d '{"body":"Actioned as #NNN — "}' - c. Close the prediction: + c. Relabel: remove prediction/unreviewed, add prediction/actioned: + curl -sf -X DELETE -H "Authorization: token $CODEBERG_TOKEN" \ + "$CODEBERG_API/issues//labels/" + curl -sf -X POST -H "Authorization: token $CODEBERG_TOKEN" \ + -H "Content-Type: application/json" \ + "$CODEBERG_API/issues//labels" \ + -d '{"labels":[]}' + d. Close the prediction: curl -sf -X PATCH -H "Authorization: token $CODEBERG_TOKEN" \ -H "Content-Type: application/json" \ "$CODEBERG_API/issues/" \ @@ -153,11 +172,18 @@ Evidence from the preflight step informs whether each prediction is valid curl -sf -X POST -H "Authorization: token $CODEBERG_TOKEN" \ -H "Content-Type: application/json" \ "$CODEBERG_API/issues//labels" \ - -d '{"labels":[]}' + -d '{"labels":[]}' For DISMISS: a. Comment with explicit reasoning - b. Close the prediction issue + b. Relabel: remove prediction/unreviewed, add prediction/actioned: + curl -sf -X DELETE -H "Authorization: token $CODEBERG_TOKEN" \ + "$CODEBERG_API/issues//labels/" + curl -sf -X POST -H "Authorization: token $CODEBERG_TOKEN" \ + -H "Content-Type: application/json" \ + "$CODEBERG_API/issues//labels" \ + -d '{"labels":[]}' + c. Close the prediction issue 6. Track promoted predictions — they compete with vision gaps in the strategic-planning step for the per-cycle 5-issue limit.