Slice 3 — Rework path: pr-fixer lane + Forgejo triage workflow #4
Labels
No labels
epic
in-review
ready-for-agent
ready-for-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
weiwen/sandcastle#4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
weiwen/sandcastle#1
What to build
The rework path: close the loop so human-requested changes on a PR are picked up and addressed automatically. Builds on the write path (#3) — the pr-fixer operates on PRs the implementer/reviewer produced.
--repofrom allteacalls; push URL from{{FORGE_HOST}}/{{REPO}};just fmt/just check→ barefmt/check).ready-for-agentare routed to the pr-fixer (modelmodels.prFixer), which reads the review feedback, addresses it, runscheck, pushes, comments a summary, and relabels the PRready-for-agent→ready-for-humanas its terminal step. Reworks claim concurrency slots ahead of new issues, per the PRD's budget ordering.nibble(.forgejo/workflows/), adapted from evie's reference — expected zero content changes since label names are identical. It appliesready-for-agentto a PR when a human submits aREQUEST_CHANGESreview; this is the sole rework gate (CI status is not a trigger).Acceptance criteria
REQUEST_CHANGESreview on an opennibblePR causes the triage workflow to add theready-for-agentlabel to that PR.nix run .#sandcastleroutes that PR to the pr-fixer, which pushes a fix, posts a summary comment, and relabels the PRready-for-agent→ready-for-human.checkpasses inside the sandbox before the fix is pushed; if iterations are exhausted withcheckstill failing, the pr-fixer posts a summary comment and relabels toready-for-humanwithout pushing partial work (no churn).Blocked by