Skip to content

Custom process: named throwaway worktrees and parallel groups #1383

Closed

Description

@JacobStephens2

Parent

#877 (Spec: Custom processes). Design record: docs/grill-with-docs/877-composable-by-file.md, ADR-0024.

What to build

A Process declares [worktrees.<name>] with kind = "throwaway", and each Step names its worktree. Consecutive Steps sharing parallel = "<group>" run together. Every session or command Step counts as editing its worktree, so parallel Steps can't share a worktree. Each parallel Step gets its own throwaway worktree, and a file that breaks this is refused. When a Step in a group fails, the group's other Steps finish first, then the group fails unless the failed Step is optional. Each group member's result is passed on to the Steps after the group. Combined with per-Step Harnesses, this is the three-family bug check: three parallel Steps on three families, then a judging Step.

Acceptance criteria

  • Three parallel Steps in three worktrees run at the same time (the fake Harnesses overlap), and a following Step's prompt names all three results.
  • Parallel Steps that share a worktree are refused, naming the rule and line. So is a Step naming an unknown worktree.
  • When one parallel Step fails, the others still finish and record their results before the Process fails.
  • Every throwaway worktree is removed at the end, and none is left after a failure, unless thirdshift's usual retention rules keep one.
  • check prints which worktree each Step uses and which Steps run together.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions