aboutsummaryrefslogtreecommitdiff
path: root/.codex
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-25 15:35:14 -0500
committerCraig Jennings <c@cjennings.net>2026-07-25 15:35:14 -0500
commitf2609d9f9ad33486bef43211d753ba53e1e24181 (patch)
tree561f0514866570d47c446816daa131ce13064639 /.codex
parent3203bd803b6a05d10781634e7e18742879c1046a (diff)
downloadrulesets-f2609d9f9ad33486bef43211d753ba53e1e24181.tar.gz
rulesets-f2609d9f9ad33486bef43211d753ba53e1e24181.zip
feat: enforce clean wraps and inbox-safe syncHEADmain
Centralize repository-state checks, bind teardown to a certified clean HEAD, and allow inbox-only refreshes. Guard installed symlinks from cross-project writes and add regression coverage.
Diffstat (limited to '.codex')
-rw-r--r--.codex/hooks.json30
1 files changed, 30 insertions, 0 deletions
diff --git a/.codex/hooks.json b/.codex/hooks.json
new file mode 100644
index 0000000..e14bed5
--- /dev/null
+++ b/.codex/hooks.json
@@ -0,0 +1,30 @@
+{
+ "description": "Rulesets lifecycle enforcement shared with Claude sessions.",
+ "hooks": {
+ "PreToolUse": [
+ {
+ "matcher": "Edit|Write",
+ "hooks": [
+ {
+ "type": "command",
+ "command": "~/.claude/hooks/rulesets-write-boundary.py",
+ "timeout": 30,
+ "statusMessage": "Checking rulesets write boundary"
+ }
+ ]
+ }
+ ],
+ "Stop": [
+ {
+ "hooks": [
+ {
+ "type": "command",
+ "command": "~/.claude/hooks/ai-wrap-teardown.sh",
+ "timeout": 30,
+ "statusMessage": "Verifying clean wrap state"
+ }
+ ]
+ }
+ ]
+ }
+}