Skip to content

ginee v0.20.0

Choose a tag to compare

@github-actions github-actions released this 26 May 09:10
· 22 commits to main since this release
83958e4

Highlights

  • Compliance playbook tactics 1–4 (#135). Four hard / visible gates ship on the Claude adapter — promotes the most-violated charter rules from advisory text to action-time enforcement.
  • T1 — subagent tools: whitelist (#137). solution-architect cannot Edit / Write; ai-engineer cannot Bash. Binary tool gate at the subagent level; both rules previously lived only in charter text.
  • T2 — PreToolUse hook on Edit / Write / MultiEdit (#138). Blocks 5 violation classes at the tool-call layer — hot-spec frontmatter omission · cap-bytes overrun without Optimized-By trailer · D<N> token re-introduction on core/** · always / never / binding / mandatory as rule modifier · always-loaded surface bloat.
  • T3 — PreToolUse hook on Bash (#139). Blocks 4 destructive shell patterns — git commit --no-verify · git push --force on main / master · git reset --hard (with SKIP_GINEE_COMPLIANCE override) · gh pr create without --body / --draft.
  • T4 — compliance statusline (#140). Single line in Claude Code's status row surfaces issue # · trailer status · cap-bytes headroom on the tightest hot-spec file. Class G — visible state, no enforcement.
  • /ginee-update auto-wires T2 / T3 / T4 entries (#160). Adopter .claude/settings.json is merged idempotently — PreToolUse hooks + statusLine block — without manual paste. Adopter customisations (other top-level keys, non-ginee statusLine) are preserved.
  • Per-tactic opt-outlocal/framework.config.yaml § compliance.disabled: [<tactic-id>] disables individual tactics. Per-invocation bypass: SKIP_GINEE_COMPLIANCE=1 (emergency only).

Adopter migration

Mostly nothing to do. /ginee-update lands the hook scripts, statusline, and wires the entries into .claude/settings.json automatically.

Per-change action

Change Action
T1 — tools: whitelist None — tools: line ships inside the pointer subagent files the installer already copies
T2 — Edit/Write hook None — /ginee-update adds the PreToolUse entry; bash adopters need jq on PATH
T3 — Bash hook None — same auto-wire path
T4 — statusline None — statusLine block added to .claude/settings.json automatically

Notes

  • Bash-only adopters must have jq on PATH for the settings.json auto-merge. Without it, the sync step warns and skips; the manual snippet in adapters/claude/install.md § Compliance hooks is the fallback.
  • Custom statusLine — already-set, non-ginee statusLine.command values are never overwritten. Adopters who want ginee's keep their custom; opt-out via compliance.disabled if you don't want the framework's installed at all.
  • Disabling a tactic stops enforcement but leaves the settings.json entry in place. Delete the matching block manually for a clean file.

Migration files

  • migrations/cardinal-tools-whitelist.md
  • migrations/pretooluse-edit-hook.md
  • migrations/pretooluse-bash-hook.md
  • migrations/compliance-statusline.md
  • migrations/claude-settings-auto-merge.md

Browse: github.com/kostiantyn-matsebora/ginee/tree/v0.20.0/migrations/.