On this page
Default values for config, segments, options, state, and themes; canonical permission rules and hook wiring are derived from the guardrail model.
#claudewheel.defaults
#claudewheel.defaults
Default values for config, segments, options, state, and themes; canonical permission rules and hook wiring are derived from the guardrail model.
#_build_canonical_hooks
def _build_canonical_hooks(scripts_dir: Path) -> dictBuild the hooks dict from the guardrail model's EXPECTED_HOOK_WIRINGS.
Each wiring is an (event, matcher, script-name) tuple. Wirings are grouped by event, and within each event by matcher, so several scripts sharing an (event, matcher) pair land in one entry's hooks list. The guardrail module is the single source of truth -- adding a wiring there flows through here automatically.
#build_canonical_shared_settings
def build_canonical_shared_settings(scripts_dir: Path) -> dictBuild the canonical shared-settings dict from current defaults.
The hooks section is derived from guardrail.EXPECTED_HOOK_WIRINGS. The disallowedTools section comes from DISALLOWED_TOOLS above. The profileDefaults permissions deny/ask arrays are derived from the guardrail model (canonical_deny_rules() / canonical_ask_rules()). The profileDefaults section contains default settings applied to new profiles when no clone source is specified (previously lived in profile-defaults.json).