feat: add advisor rollout gate and rollback playbook

This commit is contained in:
Windows
2026-09-11 20:28:21 +08:00
parent fbb1171a45
commit f5dd5b8ba2
11 changed files with 253 additions and 35 deletions
@@ -19,6 +19,7 @@ from app.model.conversation import ConversationMessage
from app.model.platform import AgentRun, RequestIdempotency
from app.model.session import ConversationSession
from app.repository.outbox_repository import OutboxRepository
from app.service.advisor_rollout_service import AdvisorRolloutService
from app.service.agent.bootstrap import get_agent_factory
from app.service.agent.factory import AgentFactory
@@ -36,6 +37,8 @@ class AgentRunApplicationService:
self.factory = factory if factory is not None else get_agent_factory()
async def accept(self, request: AgentRequest, context: RequestContext) -> RunAccepted:
if request.agent_type == "advisor":
await AdvisorRolloutService(self.session).ensure_allowed(context)
try:
self.factory.authorize(request.agent_type, context)
except ForbiddenAgentError: