Batch of S243/S244 work held for PR640. Only devpulse has git write, so all branches' changes (@memory, @prax, @hooks, @aipass, @skills, @flow, @backup, @seedgo) land through this single commit. Memory rollover (correctness): - @hooks rollover hook now delegates to drone @memory rollover check/run — it had been reading stale .trinity limits (moved to memory.config.json by DPLAN-0210), falling back to a 600-line check that never fired, so rollover was silently dead for weeks. compact.py reads the current list schema. Both fail loud. - @memory removed the v1 line-count/600 fallback entirely — v2-only, fail-loud (959 tests). Retire-for-all (DPLAN-0215): - Legacy global prompt fully removed across every runtime: global_loader.py + tests deleted, hooks.json/project_hooks.json blocks stripped, bootstrap global seeding removed, cadence default + bypass cleaned, global .md files archived. Codex SessionStart + Claude cadence read the same tier files. Hardcoded-path cleanup (seedgo #37): - New HARDCODED_PATH checker (#37). @memory symbolic.py + @prax branch_detector.py home paths -> dynamic/generic. Both 100% Hardcoded_Path. - seedgo provider_hooks_snapshot.json fixture refreshed to the tiered baseline. Genericization: patrick -> user across tracked source, docs, templates. CHANGELOG: 2026-06-19 + 2026-06-23 sections added.
110 lines
3.0 KiB
JSON
110 lines
3.0 KiB
JSON
{
|
|
"_comment": "TEMPLATE: base per-project hook config copied into new projects by `aipass init` (DPLAN-0190). Mirrors AIPass's own .aipass/hooks.json. All handlers run from $AIPASS_HOME — projects only flip enabled true/false. Use `drone @hooks enable/disable <hook>` or edit here.",
|
|
"hooks_enabled": true,
|
|
|
|
"UserPromptSubmit": {
|
|
"identity_injector": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.prompt.identity.handle",
|
|
"matcher": ""
|
|
},
|
|
"email_notification": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.notification.email.handle",
|
|
"matcher": ""
|
|
},
|
|
"branch_prompt": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.prompt.branch_loader.handle",
|
|
"matcher": ""
|
|
},
|
|
"tier0_kernel": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.prompt.tier0_kernel.handle",
|
|
"matcher": ""
|
|
},
|
|
"navmap": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.prompt.navmap.handle",
|
|
"matcher": ""
|
|
}
|
|
},
|
|
|
|
"PreToolUse": {
|
|
"tool_use_sound": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.notification.tool_sound.handle",
|
|
"matcher": "Bash|Edit|MultiEdit|Write|Read|Grep|Glob|WebSearch|WebFetch|Task"
|
|
},
|
|
"pre_edit_gate": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.security.edit_gate.handle",
|
|
"matcher": "Edit|MultiEdit|Write|NotebookEdit"
|
|
},
|
|
"git_gate": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.security.git_gate.handle",
|
|
"matcher": "Bash|Edit|MultiEdit|Write|NotebookEdit"
|
|
},
|
|
"rm_gate": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.security.rm_gate.handle",
|
|
"matcher": "Bash"
|
|
}
|
|
},
|
|
|
|
"PostToolUse": {
|
|
"auto_fix_diagnostics": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.lifecycle.auto_fix.handle",
|
|
"matcher": "Edit|MultiEdit|Write|NotebookEdit",
|
|
"timeout": 45
|
|
},
|
|
"auto_watchdog": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.lifecycle.auto_watchdog.handle",
|
|
"matcher": "Bash"
|
|
}
|
|
},
|
|
|
|
"SubagentStop": {
|
|
"subagent_stop_gate": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.security.subagent_gate.handle",
|
|
"matcher": "",
|
|
"timeout": 60
|
|
}
|
|
},
|
|
|
|
"Stop": {
|
|
"stop_sound": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.notification.stop_sound.handle",
|
|
"matcher": ""
|
|
}
|
|
},
|
|
|
|
"Notification": {
|
|
"notification_sound": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.notification.announce.handle",
|
|
"matcher": ""
|
|
}
|
|
},
|
|
|
|
"PreCompact": {
|
|
"pre_compact": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.lifecycle.compact.handle",
|
|
"matcher": "",
|
|
"timeout": 60
|
|
},
|
|
"pre_compact_rollover": {
|
|
"enabled": true,
|
|
"handler": "aipass.hooks.apps.handlers.lifecycle.rollover.handle",
|
|
"matcher": "",
|
|
"timeout": 120
|
|
}
|
|
}
|
|
}
|