Slice 2 — New-issue write path: implementer + reviewer lanes #3
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#3
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 new-issue write path: extend the orchestrator's execute phase so a
ready-for-agentissue is carried end-to-end into a human-reviewable PR. Builds directly on the walking skeleton (#2) — no changes to the shared flake, image, orloadConfig; this slice adds two lanes and two prompts.--repofrom allteacalls; push URL built fromhttps://${FORGEJO_USER}:${FORGEJO_TOKEN}@{{FORGE_HOST}}/{{REPO}}.gitwith{{FORGE_HOST}}/{{REPO}}injected from resolved config;just fmt/just check→ barefmt/check). The review prompt retains the cwd-relative@.sandcastle/CODING_STANDARDS.mdinclude.models.implementer, high iteration budget) → reviewer (modelmodels.reviewer), plus the pr-review recovery lane (a PR left atin-reviewbecause its inline reviewer crashed is re-picked and re-reviewed).maxConcurrency; pipelines run underPromise.allSettledso one failure doesn't cancel the others.The label/crash-safety invariants from the PRD apply: the implementer opens the PR labelled
in-reviewand relabels the issueready-for-agent→in-reviewlast; the reviewer promotes the PRin-review→ready-for-humanas its terminal step and never touches the issue label.Acceptance criteria
nix run .#sandcastleagainst aready-for-agentissue onnibbleproduces: asandcastle/issue-{id}branch with commits, an open PR labelledin-review, and the issue relabeledin-review.ready-for-humanin the same run (issue label untouched).check(cargo fmt --check && clippy && test) passes inside the sandbox before the PR is opened.in-review(no reviewer completion) is re-picked by the planner and promoted toready-for-humanon a subsequent run (recovery lane).nibble's.sandcastle/CODING_STANDARDS.md.loadConfigtest from #2 still pass.Blocked by