Why: classification, policy, provider execution, tools, and evidence currently share one large service module.
Files: src/yagami/gateway/service.py, src/yagami/gateway/.
Acceptance:
- Isolate the five pipeline stages behind typed interfaces.
- Preserve ordering and fail-closed behavior.
- Add stage contract tests and keep public APIs unchanged.
Why: classification, policy, provider execution, tools, and evidence currently share one large service module.
Files:
src/yagami/gateway/service.py,src/yagami/gateway/.Acceptance: