Skip to content

feat(stack): run stack manifests as dependency-ordered pull requests - #102

Merged
satyaborg merged 3 commits into
feat/living-review-statusfrom
feat/stacked-pr-manifests
Aug 17, 2026
Merged

feat(stack): run stack manifests as dependency-ordered pull requests#102
satyaborg merged 3 commits into
feat/living-review-statusfrom
feat/stacked-pr-manifests

Conversation

@satyaborg

Copy link
Copy Markdown
Owner

Why

Work needing more than one pull request had no path through devloop. The spec skill's scope guard could only refuse it and ask for a smaller slice, so the user was left to hand-manage the branch chain.

What

  • A spec with a ## Stack section is now a manifest. Its children run in dependency order.
  • Each child's worktree branches from the previous child's branch, and each PR targets it as the base.
  • The stack stops at the first child that does not reach accepted, then prints an ordered summary.
  • The spec skill now writes a stack instead of refusing when the slices are already clear.

How

parse_stack_children reads the ## Stack section and resolves child paths relative to the manifest, accepting both markdown links and bare paths. run_command dispatches to run_stack before the tmux and single-spec lint paths, since a manifest is not a spec and would fail that lint.

Two existing functions gained an optional argument rather than being restructured: run_devloop takes a base override, and create_worktree takes a start point defaulting to HEAD. The stack threads the previous child's FINAL_BRANCH through both.

Proof

  • bash scripts/devloop_test.sh: passes, except the same pre-existing nightshift digest sandbox failure present on main.
  • New coverage for all five added functions plus the create_worktree start point, including link and bare-path manifests, order preservation, a plain spec, a missing file, an empty stack, a missing child, and the summary for a stopped stack.

Scope

  • Included: manifest parsing, stack orchestration, base and start-point threading, spec skill guidance, README row, usage example.
  • Not included: rebasing published descendants when an earlier child changes after its PR is open. The stack runs children in order and stops on the first failure; propagating a changed parent through already-open child PRs is follow-up work.

Stack

  • Position: 3 of 3
  • Base: feat/living-review-status
  • Depends on: PR 1 and PR 2

Work that needed more than one pull request had no path through devloop: the
spec skill could only refuse it and ask for a smaller slice.

A spec with a Stack section is now a manifest. Its children run in order, each
worktree branching from the previous child's branch and each PR targeting it
as the base, so reviewers get a readable chain instead of one mega-diff. The
stack stops at the first child that does not reach accepted.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 17, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
devloop ce41134 Commit Preview URL

Branch Preview URL
Aug 17 2026, 07:46 AM

@satyaborg
satyaborg merged commit 5e63a79 into main Aug 17, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant