Merge-conflict resolution policy for round-close.
Purpose
-------
Decide, for a set of conflicted paths from a staging merge, whether the
round-close job may auto-resolve (generated views only) or must abort
(OI-210 abort-by-default).
Responsibilities
----------------
- Hold the tight allowlist of auto-resolvable generated-file prefixes.
- Classify a conflict set into resolvable vs blocking paths.
- Default to abort whenever any path is outside the allowlist.
Diagnostics
-----------
Domain: OC_CHAT.MAIN
Levels:
L2 - decision events
L3 - per-path classification
L4 - deep tracing
Contracts
---------
- An empty conflict set is never "resolvable"; callers treat it as clean.
- The allowlist is prefix-based and tight (views only) by default.
Dependencies
------------
- oc_diagnostics (structured debug logging via _dbg)
- dataclasses (the frozen ConflictDecision and ConflictPolicy records)
- enum (the ConflictStrategy enum)