feat: 定义运行时规格解析契约与审计模型 (#254)
This commit is contained in:
@@ -407,6 +407,56 @@ type AISpecMatchDecision struct {
|
||||
DecidedBy, DecidedAt string
|
||||
}
|
||||
|
||||
// PurchaseSpecResolutionOutcome 是一次采购运行时规格解析的持久化结论。
|
||||
// pending 只表示候选观察已经落库,尚未完成规则或 AI 决策。
|
||||
type PurchaseSpecResolutionOutcome string
|
||||
|
||||
const (
|
||||
PurchaseSpecResolutionPending PurchaseSpecResolutionOutcome = "pending"
|
||||
PurchaseSpecResolutionMatched PurchaseSpecResolutionOutcome = "matched"
|
||||
PurchaseSpecResolutionUncertain PurchaseSpecResolutionOutcome = "uncertain"
|
||||
PurchaseSpecResolutionRejected PurchaseSpecResolutionOutcome = "rejected"
|
||||
PurchaseSpecResolutionFailed PurchaseSpecResolutionOutcome = "failed"
|
||||
)
|
||||
|
||||
// PurchaseSpecResolutionSource 记录最终结论由哪条受控路径产生。
|
||||
type PurchaseSpecResolutionSource string
|
||||
|
||||
const (
|
||||
PurchaseSpecResolutionRule PurchaseSpecResolutionSource = "rule"
|
||||
PurchaseSpecResolutionAI PurchaseSpecResolutionSource = "ai"
|
||||
PurchaseSpecResolutionReused PurchaseSpecResolutionSource = "reused"
|
||||
)
|
||||
|
||||
// PurchaseSpecResolution 同时保存 Client 的候选观察和 Admin 的最终决策。
|
||||
// JSON 字段只允许保存接口契约定义的规格数据,不得写入控件树、订单或凭据。
|
||||
type PurchaseSpecResolution struct {
|
||||
ResolutionID, TaskID, AttemptID, ClientID string
|
||||
TaskVersion int64
|
||||
PddGoodsID, OriginalOptionsJSON, SelectedColor string
|
||||
TargetSize, CandidatesJSON, CandidateSnapshotHash string
|
||||
ObservedAt, RequestHash string
|
||||
Outcome PurchaseSpecResolutionOutcome
|
||||
DecisionSource PurchaseSpecResolutionSource
|
||||
ChosenCandidateID, ResolvedOptionsJSON string
|
||||
ConfidenceBPS int
|
||||
ConfidenceSet bool
|
||||
Reason, ProviderID, SourceModel, ConfigFingerprint string
|
||||
RulesVersion, PromptVersion, CreatedAt, DecidedAt string
|
||||
}
|
||||
|
||||
// PurchaseSpecResolutionDecision 是 Repository 完成一次解析记录时需要的最小字段。
|
||||
type PurchaseSpecResolutionDecision struct {
|
||||
ResolutionID string
|
||||
Outcome PurchaseSpecResolutionOutcome
|
||||
DecisionSource PurchaseSpecResolutionSource
|
||||
ChosenCandidateID, ResolvedOptionsJSON string
|
||||
ConfidenceBPS int
|
||||
ConfidenceSet bool
|
||||
Reason, ProviderID, SourceModel, ConfigFingerprint string
|
||||
RulesVersion, PromptVersion, DecidedAt string
|
||||
}
|
||||
|
||||
type AIMatchBatch struct {
|
||||
BatchID, Status, CreatedByUserID string
|
||||
TotalCount, ProcessedCount, SuccessCount, ReusedCount int
|
||||
|
||||
Reference in New Issue
Block a user