Issue #3593057 by mably: Document AuditTrail::event() chain resolution and the default-chain catch-all

Documents how AuditTrail::event() resolves its target chain and why entries land in the default chain for channels that no chain explicitly claims.

Problem

AuditTrail::event() always records a chained row, and resolves the chain as: exact channel-id match -> channels[] membership -> default fallback. This means a channel that no chain claims still chains, into default -- it does not fall through to plain dblog. None of this was documented, and configuration.md's mode wording ("everything else flows through to dblog / syslog") implied the opposite. That wording is only true of the generic logger path; event() ignores mode entirely.

Changes

  • consumers.md: new "Chain resolution and the default catch-all" section documenting the id -> channels[] -> default resolution order and that event() always records regardless of mode.
  • configuration.md: scope the mode wording to the generic logger path, and note the default chain is the catch-all for event() on unclaimed channels (cross-linked to consumers.md).
  • AuditTrailChainForm: one-line clarification on the Selection mode field that mode applies to plain logger calls only and event() always chains.

Docs + one form #description string only; no behaviour change. phpcs and cspell pass locally.

Merge request reports

Loading