@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Dynamic.puml

title Policy Approval and Retirement Workflow - Dynamic Diagram

Person(owner, "Business Owner")
Person(staff, "Operations Staff")

System(system, "Kell Creations Platform", "Unified business applications and shared services")

Container(policyrepo, "Policy Repository", "Document Service", "Manages draft, review, active, and retired policy states")
Container(notify, "Notification Service", "Messaging Service", "Sends review, approval, and retirement notifications")
Container(audit, "Audit & Logging Service", "Observability Service", "Captures workflow, approval, publication, and retirement events")
Container(evidence, "Compliance Evidence Repository", "Evidence Store", "Stores approval records, superseded versions, and retained evidence")
System_Ext(git, "Forgejo Git", "Version-controlled source and change history")

Rel(staff, policyrepo, "Creates or updates draft policy in")
Rel(owner, policyrepo, "Reviews, approves, or retires policy in")

Rel(policyrepo, notify, "Requests review and approval notifications through")
Rel(policyrepo, git, "Stores controlled source and revision history in")
Rel(policyrepo, audit, "Logs draft, review, approval, publication, and retirement events to")
Rel(policyrepo, evidence, "Stores approval records and retired policy evidence in")
Rel(notify, audit, "Logs notification activity to")
Rel(owner, evidence, "Reviews retained approval and retirement evidence in")

@enduml