Typed registry errors.
Purpose
-------
Expose precise exception types for the M11 registry mutating seam and
lock primitives.
Responsibilities
----------------
- Define typed pre-commit validation failures.
- Define lock contention and ownership failures with useful attributes.
- Keep error classes independent from SQLite implementation details.
Diagnostics
-----------
Domain: OC_CHAT.MAIN
Levels:
L2 - lifecycle events
L3 - semantic details
L4 - deep tracing
Contracts
---------
- Pre-commit failures are raised before the backend commits.
- Lock errors carry enough data for callers to render operator messages.
Dependencies
------------
- oc_diagnostics (structured debug logging via _dbg)
- dataclasses (dataclass decorator for the error types' attribute fields)