diff --git a/apps/api/src/models/approval.py b/apps/api/src/models/approval.py index 182cf4b6..0775c311 100644 --- a/apps/api/src/models/approval.py +++ b/apps/api/src/models/approval.py @@ -140,6 +140,9 @@ class ApprovalRequestBase(BaseModel): requested_by: str = Field(..., description="請求發起者") expires_at: datetime | None = Field(default=None, description="到期時間") metadata: dict | None = Field(default=None, description="額外元資料") + # 2026-04-14 Claude Sonnet 4.6: 上移 incident_id 到 Base, + # 讓 ApprovalRequestCreate 也能攜帶(修 9b9ff5b 的 NoneAttr bug) + incident_id: str | None = Field(default=None, description="關聯的 Incident ID") class ApprovalRequestCreate(ApprovalRequestBase): @@ -161,8 +164,7 @@ class ApprovalRequest(ApprovalRequestBase): fingerprint: str | None = Field(default=None, description="告警指紋 Hash") hit_count: int = Field(default=1, description="聚合觸發次數") last_seen_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc), description="最後觸發時間") - # 2026-04-06 ogt: 關聯 Incident — 萃取 Playbook 與 KM 寫入必須知道 incident_id - incident_id: str | None = Field(default=None, description="關聯的 Incident ID") + # 2026-04-14 Claude Sonnet 4.6: incident_id 已移至 Base(避免 ApprovalRequestCreate 缺欄位) @property def current_signatures(self) -> int: