{
"id": "merge-policy:protected-prefixes",
"_kind": "MergePolicy",
"_file": "channels-hooks/merge-policies/protected-prefixes.yaml",
"_cluster": "channels-hooks",
"attributes": {
"displayName": "Protected-prefixes env merge",
"decisionRule": "most-restrictive-wins",
"envMergeRule": "protected-prefixes",
"protectedPrefixes": [
"A5C_",
"BABYSITTER_",
"CLAUDE_"
],
"systemMessageStrategy": "concatenate",
"arraysMergeRule": "replace",
"description": "Merge policy used when settings layers ship sensitive env keys that\nplugins SHOULD NOT be able to overwrite. Any persistEnv / contextVars\nkey whose name starts with one of `protectedPrefixes` is locked in by\nthe first handler that sets it; later handlers attempting to override\nsuch a key produce a HookMergeDiagnostic with outcome=conflict and\nseverity=warning.\n"
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "hook-surface:decision-point",
"to": "merge-policy:protected-prefixes",
"kind": "uses_merge_policy",
"attributes": {}
}
]
}