You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Backlog managers — pluggable sources of tasks. v1 ships GitHub Issues and Beads. Each declares a Dockerfile snippet (installed via template argument substitution) and command placeholders for prompt templates. Backlog managers are an init-time concern only — no runtime API.
Advanced templates — simple-loop, sequential-reviewer, parallel-planner, parallel-planner-with-review. These exercise the live library API (run(), createSandbox(), createWorktree()) and reference the chosen backlog manager's commands.
Each backlog manager declares a Dockerfile snippet that gets installed via template argument substitution (e.g. {{BACKLOG_MANAGER_TOOLS}} in the Dockerfile is replaced with gh install steps for github, beads install steps for beads)
Each backlog manager declares prompt-template command placeholders (e.g. LIST_TASKS_CMD, VIEW_TASK_CMD) that templates can reference
Backlog managers are init-time only — no runtime API surface; they only affect scaffolded files
All four advanced templates scaffold:
simple-loop — picks GitHub issues one by one and closes them
sequential-reviewer — implements issues one by one, with code-review step after each
parallel-planner — plans parallelizable issues, executes on separate branches, then merges
parallel-planner-with-review — same, with per-branch review before merge
Podman variant: writes Containerfile instead of Dockerfile; scaffolded main.{mts,ts} uses podman() from @missingstudio/sanddune/sandboxes/podman; build step uses sanddune podman build-image
Unit tests: each (backlog manager × template) combination scaffolds the expected file tree; Podman variant produces Containerfile
Integration test: init with simple-loop + github against a temp repo with a fixture issue, run scaffolded main.{mts,ts} against a fake agent, verify the loop progresses
Parent
#1
What to build
Extend
sanddune init(slice #21) with:simple-loop,sequential-reviewer,parallel-planner,parallel-planner-with-review. These exercise the live library API (run(),createSandbox(),createWorktree()) and reference the chosen backlog manager's commands.init, write aContainerfileinstead ofDockerfileand usesanddune podman build-image(slice [Init] backlog managers + 4 advanced templates + Podman variant #22 — BuildImage).Acceptance criteria
github|beads), template (blank|simple-loop|sequential-reviewer|parallel-planner|parallel-planner-with-review){{BACKLOG_MANAGER_TOOLS}}in the Dockerfile is replaced withghinstall steps for github,beadsinstall steps for beads)LIST_TASKS_CMD,VIEW_TASK_CMD) that templates can referencesimple-loop— picks GitHub issues one by one and closes themsequential-reviewer— implements issues one by one, with code-review step after eachparallel-planner— plans parallelizable issues, executes on separate branches, then mergesparallel-planner-with-review— same, with per-branch review before mergeContainerfileinstead ofDockerfile; scaffoldedmain.{mts,ts}usespodman()from@missingstudio/sanddune/sandboxes/podman; build step usessanddune podman build-imageContainerfilesimple-loop+githubagainst a temp repo with a fixture issue, run scaffoldedmain.{mts,ts}against a fake agent, verify the loop progressesbun testandbun run typecheckpassBlocked by