diff --git a/apps/api/src/core/trust_engine.py b/apps/api/src/core/trust_engine.py index 87c2f8260..4f6b038dc 100644 --- a/apps/api/src/core/trust_engine.py +++ b/apps/api/src/core/trust_engine.py @@ -71,7 +71,7 @@ LOW_KEYWORDS = [ SIGNATURE_REQUIREMENTS: dict[RiskLevel, int] = { RiskLevel.LOW: 0, # 自動放行 RiskLevel.MEDIUM: 1, # 單人簽核 - RiskLevel.CRITICAL: 2, # Multi-Sig 雙重簽核 + RiskLevel.CRITICAL: 1, # 2026-04-02 ogt: 統帥決策 — 只需 1 層審核,Multi-Sig 停用 } diff --git a/apps/api/src/services/proposal_service.py b/apps/api/src/services/proposal_service.py index 9662246bb..d6dbe34fc 100644 --- a/apps/api/src/services/proposal_service.py +++ b/apps/api/src/services/proposal_service.py @@ -42,6 +42,7 @@ from src.models.incident import ( from src.services.approval_db import get_approval_service from src.services.incident_engine import get_incident_engine from src.services.incident_memory import get_incident_memory +from src.services.incident_service import get_incident_service from src.services.openclaw import get_openclaw from src.services.trust_engine import normalize_action_pattern, trust_engine from src.utils.incident_converter import local_to_brain @@ -291,14 +292,14 @@ class ProposalService: async def _load_incident(self, incident_id: str) -> Incident | None: """ - 載入 Incident (委派給 IncidentEngineAdapter) + 載入 Incident (從 Working Memory 讀取) - ADR-046 (2026-04-01 ogt): 透過 IncidentEngineAdapter.get_incident() - 取得 LocalIncident,key prefix 正確性由 brain DualIncidentMemory 保證 - (awoooi:incidents:{id}),不再直接存取 Redis。 + 2026-04-02 ogt: 修復 brain engine 使用 awoooi:incidents: prefix + 但資料實際儲存在 incident: prefix,導致永遠 404。 + 改用 incident_service.get_from_working_memory() 讀正確 key。 """ try: - return await get_incident_engine().get_incident(incident_id) + return await get_incident_service().get_from_working_memory(incident_id) except Exception as e: logger.warning( "load_incident_failed",