Files
correx/docs/diagrams/core-approvals.puml
T
kami 9734eec63c docs: add module documentation in AsciiDoc with PlantUML diagrams
Generated by per-group subagents covering all 52 modules across:
core (18), infrastructure (10), apps (5), interfaces (3),
plugins (7), testing (9)

Documentation format:
- AsciiDoc (.adoc) files in docs/modules/<group>/
- PlantUML (.puml) files in docs/diagrams/
- .adoc files reference diagrams via include:: directives

Each doc covers: purpose, responsibilities, non-responsibilities,
key types, event flow, integration points, invariants, PlantUML
diagram, known issues, and open questions.
2026-05-26 16:59:21 +04:00

47 lines
1.3 KiB
Plaintext

@startuml
interface ApprovalReducer
interface ApprovalEngine
interface Projection
class DefaultApprovalReducer
class DefaultApprovalEngine
class NoOpApprovalEngine
class ApprovalProjector
class DefaultApprovalRepository
class ApprovalState
class DomainApprovalRequest
class ApprovalDecision
class ApprovalGrant
class ApprovalContext
ApprovalReducer <|.. DefaultApprovalReducer
ApprovalEngine <|.. DefaultApprovalEngine
ApprovalEngine <|.. NoOpApprovalEngine
Projection <|.. ApprovalProjector
ApprovalProjector --> ApprovalReducer
DefaultApprovalRepository --> ApprovalProjector
DefaultApprovalRepository ..> ApprovalState
DefaultApprovalState --> "requests" DomainApprovalRequest
DefaultApprovalState --> "decisions" ApprovalDecision
DefaultApprovalState --> "grants" ApprovalGrant
ApprovalDecision --> ApprovalContext
DefaultApprovalEngine ..> ApprovalGrant
DefaultApprovalEngine ..> ApprovalDecision
DefaultApprovalEngine ..> ApprovalContext
package "core:events" <<External>> {
[ApprovalRequestedEvent]
[ApprovalDecisionResolvedEvent]
[ApprovalGrantCreatedEvent]
[ApprovalGrantExpiredEvent]
}
package "core:sessions" <<External>> {
[Projection]
[EventReplayer]
}
DefaultApprovalReducer ..> "core:events"
DefaultApprovalRepository ..> "core:events"
DefaultApprovalRepository ..> "core:sessions"
@enduml