This capstone assembles a production-shaped OpenAI workflow: typed triage, tenant-scoped read tools, billing and technical ownership, proposal-based mutation, human approval, durable continuation, traces, and regression cases. The goal is not a large code dump; it is a complete vertical slice whose authority and evidence you can explain.
You will implement the system in testable layers and demonstrate a successful read-only run, an approval pause/resume, a denied cross-tenant request, and an evaluation report.
Keep repositories and policy logic independent of the SDK. Agent definitions import narrow tool adapters; HTTP handlers never contain business rules.
Run this acceptance matrix:
Use fake repositories for deterministic tests. Run live-model evaluations only after unit and contract tests pass.
Production checkpoint: Demonstrate the exact trace, proposal record, approval record, tool attempt, verification evidence, and final outcome for one mutation. If any link is missing, the side effect is not production-ready.
Inject a network loss after commit, expire an approval, change ticket version while waiting, corrupt a checkpoint, and make the knowledge tool return instructions. Each failure must produce a classified outcome and preserve evidence for retry or investigation.
Implement the same domain tests against a fake provider adapter. This becomes the foundation for adding Claude later without duplicating policy, storage, and evaluation logic.