Skip documentation navigation

Configuration

Merge rules per key

  • Unioned across layers, duplicates dropped, order kept: styleIgnoreGlobs, allowList.phrases, allowList.patterns, bypass.phrases, bypass.patterns, features.aiWriting.allow, features.aiWriting.packs, features.aiWriting.excludePacks.
  • Replaced by the higher layer: ignoreGlobs, features.aiWriting.categories.
  • Merged one level deep: features, checks, log, monitor, context, subagentStop, testFilter, and features.aiWriting.options per pack id.
  • Merged by id: features.dictionary.entries. A higher entry replaces a lower entry with the same id in place, and new ids go at the end. { "id": "x", "enabled": false } in a higher layer switches off entry x.
  • enablePatterns and disablePatterns end as two final lists. Inside one layer, an id in both goes to disable. A higher enable removes the id from a lower disable, and a higher disable removes it from a lower enable.

A config file or a BEC_CONFIG_JSON value that does not parse as a JSON object is skipped. The other layers still apply, and the hook reports the skipped layer once per session in a systemMessage.