Releases: CarlosDanielDev/setwave
Releases · CarlosDanielDev/setwave
Release list
v0.3.7 — lint knows a symbol is evidence
wave lintnow accepts a file name plus a named symbol in backticks (scripts/wave.py,cmd_cleanup) as evidence, not onlyfile:line;yml/toml/jsoncount 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#1is ready to run.
v0.3.6 — a repo says where its worktrees live
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 factson both readgate: <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
mergere-runsverifyon 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
guaranteesfailing 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
- README: quick start (new epic via
plan, existing project by hand untiladopt), "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 bymergein #12). .wave.jsondocumentsserial; setwave declares its own gate and serial files; registry has it.
v0.3.0 — premises, preflight, and a merge locked to its OK
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.dispatchruns 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 lintreports contradictions between text and data (Depends on withoutblocked_by, handoff branch without the issue number,Closesof another issue, a parent with a handoff block).- States are exhaustive and exclusive, asserted in code.
v0.2.1 — the half-extracted crate
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
wave plan <dir>: create an epic's issues fromindex.tsv+deps.tsv+ one body per key; links sub-issues, wiresblocked_by, refuses to run twice.wave order: chain simulation in the suggested order (names the step where the accumulated tree conflicts) andserialpaths (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
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.