oc_chat
Loading...
Searching...
No Matches
oc_chat.registry.round.conflict Namespace Reference

Classes

class  ConflictStrategy
class  ConflictDecision
class  ConflictPolicy

Variables

tuple DEFAULT_ALLOWLIST_PREFIXES = ("oc_chat/registry/views/",)

Detailed Description

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)

Variable Documentation

◆ DEFAULT_ALLOWLIST_PREFIXES

tuple oc_chat.registry.round.conflict.DEFAULT_ALLOWLIST_PREFIXES = ("oc_chat/registry/views/",)

Definition at line 52 of file conflict.py.