26 lines
1.0 KiB
Python
26 lines
1.0 KiB
Python
"""Human-review backend skeleton for Memory Gateway v2.
|
|
|
|
Obsidian remains a human-in-the-loop review backend only. This skeleton does
|
|
not write files or call external APIs; it preserves the adapter contract until
|
|
the review draft integration is explicitly designed.
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from .backend_contracts import BackendOperation, BackendResultStatus, BackendWriteResult
|
|
from .schemas_v2 import BackendType
|
|
|
|
|
|
class ObsidianReviewClient:
|
|
def create_review_draft_v2(self, payload: dict[str, Any]) -> BackendWriteResult:
|
|
"""Return a skipped review-draft result until the real adapter exists."""
|
|
return BackendWriteResult(
|
|
backend_type=BackendType.OBSIDIAN,
|
|
operation=BackendOperation.CREATE_REVIEW_DRAFT,
|
|
status=BackendResultStatus.SKIPPED,
|
|
native_id=payload.get("event_id") or payload.get("gateway_id"),
|
|
retryable=False,
|
|
metadata={"reason": "obsidian_review_adapter_not_configured"},
|
|
)
|