Repository navigation
specwright v1.7.0
Full details: CHANGELOG.md
· Diff: v1.6.0...v1.7.0
Highlights
- Four new lifecycle hooks (Bash + PowerShell pairs)
session-context(SessionStart) - in-progress specs and the constitution pointer, once per sessionprecompact-state(PreCompact) - the driven spec survives a compactionstop-gate(Stop, ADR 0016) - opt-in; a turn cannot close past a skipped HARD gatehandoff-integrity(PostToolUse, ADR 0017) - opt-in; flags an edit outside the task's declaredFiles
- Model escalation across
/sd:feature,/sd:bug,/sd:rca,/sd:refactor,/sd:perfand
/sd:port, owned by the newsd-model-escalationskill and guarded by contract-lint bandCL6xx. sd-bootstrap-guardskill - one owner for the Phase 0 bootstrap guard (CL009).- Task check-off marker for
02-tasks.md(SL067) and the port task-block checksSL061-SL066.
Important fixes
spec-gatedenies were dropped when a permission rule already allowed the tool - the deny
JSON now carrieshookEventName: "PreToolUse". UnderacceptEdits, an explicit grant or
skip-permissions, spec-gate previously blocked nothing. Re-install to pick this up.spec-gatenow gates shell writes to.specs/index.mdand allows legal status transitions.spec-gate.shno longer records a stray CR with a native Windowsjq.exe.PORT-specs were invisible to hook enforcement (hardcoded prefix alternation).- Installer:
BASE_PATHvalidation, a working partial-install guard, and--prefixparity
across all four install/uninstall scripts. - e2e harness: hooks now run on Linux/macOS, and the spec-gate scenarios actually exercise the hook.
Changed
prompt-routertrimmed to per-prompt routing; session context moved tosession-context.- Contract-lint
CL500byte ratchet retired in favour ofscripts/prompt-size-report(ADR 0011).
Upgrade
.\install\install.ps1 # Windows./install/install.sh # macOS / LinuxThen wire the new hooks in ~/.claude/settings.json (see templates/settings.template.json).
stop-gate and handoff-integrity stay off until enabled in .claude/project-config.json.