feat: 安全应用采购规格解析结果 (#257)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
"""Client 访问 Admin 的稳定边界和简单数据对象。
|
||||
|
||||
AdminGateway 只有登记、领取任务、提交成功结果、提交失败结果四个业务方法。
|
||||
AdminGateway 提供登记、领取、结果提交和一次性采购规格解析命令。
|
||||
业务层不应直接依赖 HTTP 请求或 Mock 的内部实现。
|
||||
"""
|
||||
|
||||
@@ -113,6 +113,30 @@ class RegistrationReceipt:
|
||||
registered_at: str
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SpecResolutionMatch:
|
||||
"""Admin 从本次候选白名单中选中的原始规格。"""
|
||||
|
||||
candidate_id: str
|
||||
raw_text: str
|
||||
options: Mapping[str, str]
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SpecResolutionReceipt:
|
||||
"""一次采购规格解析的完整业务响应。"""
|
||||
|
||||
schema_version: int
|
||||
resolution_id: str
|
||||
outcome: str
|
||||
source: Optional[str]
|
||||
candidate_snapshot_hash: str
|
||||
match: Optional[SpecResolutionMatch]
|
||||
confidence_bps: Optional[int]
|
||||
reason: str
|
||||
resolved_at: str
|
||||
|
||||
|
||||
class AdminGatewayError(RuntimeError):
|
||||
"""带稳定错误代码和可重试标志的 Admin 边界错误。"""
|
||||
|
||||
@@ -171,3 +195,12 @@ class AdminGateway(ClientRegistrationGateway, TaskClaimGateway):
|
||||
failure: Mapping[str, Any],
|
||||
) -> SubmissionReceipt:
|
||||
"""幂等提交失败、取消或人工处理结果。"""
|
||||
|
||||
@abstractmethod
|
||||
def resolve_purchase_spec(
|
||||
self,
|
||||
task_id: str,
|
||||
idempotency_key: str,
|
||||
observation: Mapping[str, Any],
|
||||
) -> SpecResolutionReceipt:
|
||||
"""一次性解析当前真机尺码候选;不得用于查询任务状态。"""
|
||||
|
||||
Reference in New Issue
Block a user