Repository navigation
v0.24.0
Dely 0.24.0 moves pins out of AGENTS.md, so each person can pick their own harnesses without committing them (#62).
- Team and personal pins. Team pins go in
.dely/pins.json, which you commit. Personal pins go in.dely/local/pins.json. Setup adds a.gitignorethere, so they never reach Git. For each phase your file wins, then the team file, then Control's own harness with its defaults. A file can name just one phase. - Worktrees. In another worktree of the same clone, Dely looks for your personal file in that worktree first, then in the main checkout.
- Strict format. The files are JSON with harness ids (
claude,codex, …). A mistyped key, an unknown harness, a missing field or invalid JSON stops Dely and names the file. dely pins. Shows the pin each phase will use and where it came from (local,teamorcontrol).- No pins needed. With no pins at all, both roles run on Control's harness with its defaults. 0.23 documented this but stopped with an error instead.
- Setup asks whether a choice is for the team or only for you, and keeps one routing line in
AGENTS.md.
Breaking: Dely stops while AGENTS.md still has the old <!-- dely:begin --> block, and it never reads that block. To upgrade, run dely:setup. It offers to move your table to .dely/pins.json and replace the block with the routing line.
Known limits:
git clean -fdxdeletes.dely/local/, personal pins included.- A personal file you create by hand is not ignored unless you also add
.dely/local/.gitignore. Use setup. - A team cannot stop someone overriding its pins. The override shows only in that person's delivery.
- This release was not checked with live worker runs on Claude Code 2.1.289 or Codex CLI 0.160.0. The launch arguments match 0.23.1 for the same pins.
Decision record: docs/decisions.md, section 2026-10-05, "Pins live in .dely/".