feat: add project adapter shadow contract
This commit is contained in:
parent
411f417670
commit
561d98f1f8
10 changed files with 532 additions and 21 deletions
|
|
@ -4,6 +4,7 @@ from __future__ import annotations
|
|||
|
||||
from dataclasses import asdict, dataclass
|
||||
from pathlib import Path
|
||||
from typing import Protocol
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
|
|
@ -118,6 +119,14 @@ class ProjectSnapshot:
|
|||
revision: str
|
||||
|
||||
|
||||
class ProjectService(Protocol):
|
||||
"""Minimum immutable project boundary required by derived read services."""
|
||||
|
||||
descriptor: ProjectDescriptor
|
||||
|
||||
def load(self) -> ProjectSnapshot: ...
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class ContextEntry:
|
||||
node_id: str
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue