Skip to content

Compass 8.0.0

Choose a tag to compare

@jed72 jed72 released this 25 Oct 14:32
· 34 commits to main since this release
Immutable release. Only release title and notes can be modified.
18ce9f5

Compass 8.0.0 is a major release because of one change: delegation. A delegation now works across git worktrees and takes optional flags, and four forms that 7.0.0 accepted are refused. 8.0.0 removes no reader: old words, old approach names, copied 5.x governance, the generated governance views, .compass/config.yml and migrated LEGACY waivers are read until 9.0.0. docs/upgrade-8-0-0.md covers the change.

Upgrade

  1. Update every checkout and every installed plugin together.
  2. Type /compass:delegate again for each delegation you rely on, in the flag form below. A delegation file that 7.0.0 wrote in a linked worktree's own folder no longer gives approval.
  3. If an agent prompt or script records delegated approvals, add --issue <slug>, and run the command as a plain compass ... in the agent's Bash tool.

No archive migration is needed.

What breaks

  • The positional form of /compass:delegate is refused, and so is --labels. The message shows the flag form: /compass:delegate --agent compass:architect --until 08:00 --on my-issue (#691).
  • A delegated approval needs --issue <slug>. The pre-tool hook writes a call ticket naming the calling session and agent, and the CLI takes the session from it. A command inside a script, an echo or a variable gets no ticket and is refused (#691).
  • One delegation store. Compass reads .compass/delegations/ in the main checkout; a file in a linked worktree's own folder is refused, and the refusal names it (#691).

What's new

  • Delegation without ceremony. /compass:delegate [--agent] [--until] [--on] [--for] [--max], each optional. With none, a delegation covers this session's agents on every issue until /compass:revoke, with no time limit and no cap. --for g5 still needs the code you type back. Each delegation with no end time is listed at session start (#691).
  • Approve and reject across worktrees. /compass:approve <n> and /compass:reject <n> <reason> find a request in any worktree's current issue; --issue <slug> reaches any issue (#691, #679).
  • Review only what you were shown. /compass:approve with nothing pending marks reviewed only the approvals your last summary showed (#691).
  • compass in your own terminal. A plugin install now has a launcher in the plugin's data folder. The commands the CLI prints for you to run in your terminal name it, with the folder to add to your PATH (#693).
  • Execution profiles. compass profile lint, add and show (#677).

Fixes

  • The pre-tool hook treats perl -pi, ruby -pi and interpreter scripts that write a path held in a variable as writes to production code (#692).
  • The approval guard joins a protected folder name split over two lines with a backslash, and decides long or unusual commands within the hook's time limit (#690).
  • compass record restore refuses a redacted generation file instead of leaving the issue broken (#684).
  • compass issue migrate keeps a one-unit distribution map (#683).
  • The README, the docs home page and the quickstart state what each guarantee covers and where it stops, and the text an adopter reads is plain English (#694).
  • compass quick-fix start writes its start record before the pointer, so a failed start can run again (#686).
  • Assess reuses the issue the pointer names; the docs show the shell install; two templates are corrected (#681).
  • The architect reads the intent when acceptance criteria are missing (#682).
  • Six commands list Bash among their tools, and the manifest schema defines intent_source (#680).
  • Three code scanning alerts in the template readers are fixed (#678).

Known limits