@startuml
'https://plantuml.com/component-diagram

node Drools_repo {
  [Rule eng.] <--  [Efesto]
  [Decision eng.] <--  [Efesto]
  [Prediction eng.] <--  [Efesto]
}

note bottom of Drools_repo
    * Having both engines and Efesto code in same
    repository force dependency on snapshots,
    even downward (e.g. Kogito), because the repo
    is built atomically
    * This situation should be transitory
end note

[Workflow eng.] <--  [Efesto]
[? eng.] <--  [Efesto]

node "Kogito repo" {
  component Kogito [
    * REST Endpoints
    * Platform specific infra requirements
    ** Messaging
    ** Audit
    ** Persistence
    ** etc…
  ]
}

[Efesto] <-- [Kogito]

node "Serverless Workflow repo" {
  component Serverless_Workflow [
    * Spec Implementation
    * Specific set of cloud native reqs
    * Java Framework opinionated
    * Kubernetes Deployment Interface
   ]
}

[Workflow eng.] <... [Serverless_Workflow]

[Kogito] <- [Serverless_Workflow]



@enduml