fix: feat: predictor re-evaluates prediction/backlog issues — evolve stale watches into targeted warnings (#588)

Add a re-evaluate-backlog step to the predictor formula between
collect-signals and analyze-and-predict. For each open prediction/backlog
issue, the predictor now reads the original context and planner comments,
extracts the assumptions that made it "watch, don't act", and re-checks
those conditions against current system state.

Three outcomes:
- CONDITIONS_CHANGED → file new prediction/unreviewed, close old as superseded
- STALE (30+ days, conditions stable) → close as prediction/actioned
- UNCHANGED_RECENT → skip (existing behavior)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
openhands 2026-03-23 11:51:43 +00:00
parent f6fb79d94b
commit a225b05070
2 changed files with 125 additions and 10 deletions

View file

@ -1,9 +1,9 @@
<!-- last-reviewed: 9ec0c0221032979bd4440b9fd67f2072f1de01be -->
# Predictor Agent
**Role**: Risk oracle and opportunity spotter (the "goblin"). Runs a 3-step
formula (preflight → collect-signals → analyze-and-predict) via interactive
tmux Claude session (sonnet). Collects three categories of signals:
**Role**: Risk oracle and opportunity spotter (the "goblin"). Runs a 4-step
formula (preflight → collect-signals → re-evaluate-backlog → analyze-and-predict)
via interactive tmux Claude session (sonnet). Collects three categories of signals:
1. **Health signals** — CI pipeline trends (Woodpecker), stale issues, agent
health (tmux sessions + logs), resource patterns (RAM, disk, load, containers)
@ -27,9 +27,10 @@ memory check (skips if available RAM < 2000 MB).
sources disinto project config, builds prompt with formula + Codeberg API
reference, creates tmux session (sonnet), monitors phase file, handles crash
recovery via `run_formula_and_monitor`
- `formulas/run-predictor.toml` — Execution spec: three steps (preflight,
collect-signals, analyze-and-predict) with `needs` dependencies. Claude
collects signals and files prediction issues in a single interactive session
- `formulas/run-predictor.toml` — Execution spec: four steps (preflight,
collect-signals, re-evaluate-backlog, analyze-and-predict) with `needs`
dependencies. Claude collects signals, re-evaluates watched predictions,
and files prediction issues in a single interactive session
**Environment variables consumed**:
- `CODEBERG_TOKEN`, `CODEBERG_REPO`, `CODEBERG_API`, `PROJECT_NAME`, `PROJECT_REPO_ROOT`
@ -42,5 +43,6 @@ load formula + context → create tmux session → Claude collects signals
(health: CI trends, stale issues, agent health, resources; outcomes: output
freshness, capacity utilization, throughput; external: dependency advisories,
ecosystem changes via web search) → dedup against existing open predictions →
re-evaluate prediction/backlog watches (close stale, supersede changed) →
file `prediction/unreviewed` issues → `PHASE:done`.
The planner's Phase 1 later triages these predictions.