Skip to content

Releases: CarlosDanielDev/setwave

v0.3.7 — lint knows a symbol is evidence

Choose a tag to compare

@CarlosDanielDev CarlosDanielDev released this 30 Sep 16:22
  • wave lint now accepts a file name plus a named symbol in backticks (scripts/wave.py, cmd_cleanup) as evidence, not only file:line; yml/toml/json count for line refs. A lint that flags valid issues is noise the user learns to ignore.
  • With this, all 16 leaves of epic #1 lint clean; /setwave:wave CarlosDanielDev/setwave#1 is ready to run.

v0.3.6 — a repo says where its worktrees live

Choose a tag to compare

@CarlosDanielDev CarlosDanielDev released this 30 Sep 16:22
  • wave repos add <path> --worktree-prefix ~/kyte-worktrees/demeter-: worktrees follow the repo's own convention instead of ../<repo>-<N>; ~ is expanded, relative prefixes resolve against the checkout.
  • Registry entries for two repos with a non-default layout were the motivating case; wave facts on both read gate: <no gate found> — the evidence behind #3, #15 and #17 in the v0.4.0 epic.

v0.3.5 — merge verifies again, and the guarantees are a command

Choose a tag to compare

@CarlosDanielDev CarlosDanielDev released this 30 Sep 15:54
  • merge re-runs verify on each PR right before merging it; a NOT OK stops the queue. Forgetting to verify is no longer possible.
  • wave guarantees: every promise the plugin makes, where it is enforced, and whether a test pins it (today: 1 of 22 — the source-scan for forbidden git commands; the rest wait for #2). Part of this repo's own gate.
  • 0.3.4 shipped with guarantees failing on its own table; the check now scans argument lists only. The gate that would have caught it is the reason #2 blocks everything.

v0.3.3 — a path for a newcomer

Choose a tag to compare

@CarlosDanielDev CarlosDanielDev released this 30 Sep 15:51
  • README: quick start (new epic via plan, existing project by hand until adopt), "the next day" (next/why/status --post), honest status and measured numbers, roadmap = epic #1, developing.
  • plan: {{key.n}} bare numbers; parents and blockers may be existing issues (#12).
  • Agent prompt and issue contract ask every PR for a Done-when ledger (enforced by verify/applied by merge in #12).
  • .wave.json documents serial; setwave declares its own gate and serial files; registry has it.

v0.3.0 — premises, preflight, and a merge locked to its OK

Choose a tag to compare

@CarlosDanielDev CarlosDanielDev released this 30 Sep 14:48
  • wave why <issue>: the premises behind READY / NOT READY (leaf, open, blockers closed, no PR, no worktree) with their evidence, and the conclusion.
  • wave doctor: preflight — gh login, git ≥ 2.38, tracked changes in the main checkout, real gate, protected paths, unmerged worktrees without a PR, leftovers, disk for the batch. dispatch runs it and refuses on ✗; it also refuses an issue that is not READY.
  • wave order --plan p.json + wave merge --plan p.json --yes: the plan pins the base SHA and every PR head; if any moved since the OK, no merge. A PR whose issue still has an open blocker, or that closes a parent, is refused.
  • wave lint reports contradictions between text and data (Depends on without blocked_by, handoff branch without the issue number, Closes of another issue, a parent with a handoff block).
  • States are exhaustive and exclusive, asserted in code.

v0.2.1 — the half-extracted crate

Choose a tag to compare

@CarlosDanielDev CarlosDanielDev released this 30 Sep 14:48

Docs: a parallel first-time build (or an agent killed mid-build) can leave a crate half-extracted in ~/.cargo/registry/src; every fresh build then fails with file not found for module. Move the crate directory aside; cargo re-extracts it. Prefer cargo fetch before dispatching and a batch of 4.

v0.2.0 — plan, chain, serial, log

Choose a tag to compare

@CarlosDanielDev CarlosDanielDev released this 30 Sep 14:48
  • wave plan <dir>: create an epic's issues from index.tsv + deps.tsv + one body per key; links sub-issues, wires blocked_by, refuses to run twice.
  • wave order: chain simulation in the suggested order (names the step where the accumulated tree conflicts) and serial paths (migrations) flagged to land one after the other.
  • wave verify --epic: names open sibling issues whose bodies cite files the PR touched.
  • CI read via gh pr checks --json bucket.
  • Every run logged to ~/.config/setwave/log.jsonl; wave stats.

v0.1.0 — one prompt, any repo

Choose a tag to compare

@CarlosDanielDev CarlosDanielDev released this 30 Sep 14:48

First release. /setwave:wave <epic>: finds the unblocked leaves of an epic (sub-issues + blocked_by), creates a worktree per issue, renders one agent prompt per issue, verifies PRs (AI attribution, protected paths, CI, worktree), orders merges with git merge-tree, merges one at a time only with an explicit OK, closes parents, cleans up, posts status on the epic. Registry for many repos and gh accounts.