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.
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
@startuml
|
||||
package "core:sessions" {
|
||||
enum SessionStatus {
|
||||
CREATED
|
||||
ACTIVE
|
||||
PAUSED
|
||||
COMPLETED
|
||||
FAILED
|
||||
}
|
||||
|
||||
data class SessionState {
|
||||
+ status: SessionStatus
|
||||
+ createdAt: Instant?
|
||||
+ updatedAt: Instant?
|
||||
}
|
||||
|
||||
data class Session {
|
||||
+ sessionId: SessionId
|
||||
+ state: SessionState
|
||||
}
|
||||
|
||||
interface SessionReducer {
|
||||
+ reduce(SessionState, StoredEvent): SessionState
|
||||
}
|
||||
|
||||
class DefaultSessionReducer
|
||||
|
||||
class SessionProjector
|
||||
|
||||
class DefaultSessionRepository {
|
||||
+ getSession(SessionId): Session
|
||||
}
|
||||
|
||||
sealed interface TransitionResult {
|
||||
data class Applied
|
||||
data object Rejected
|
||||
}
|
||||
|
||||
enum ApprovalMode {
|
||||
DENY
|
||||
PROMPT
|
||||
AUTO
|
||||
YOLO
|
||||
}
|
||||
|
||||
DefaultSessionReducer ..|> SessionReducer
|
||||
SessionProjector --> SessionReducer
|
||||
SessionProjector ..|> Projection
|
||||
|
||||
DefaultSessionRepository --> EventReplayer
|
||||
DefaultSessionRepository ..> Session : creates
|
||||
Session *-- SessionState
|
||||
}
|
||||
|
||||
package ":core:events" as EVENTS {
|
||||
interface Projection
|
||||
interface EventReplayer
|
||||
interface EventStore
|
||||
enum SessionStatus as SES
|
||||
}
|
||||
|
||||
DefaultSessionRepository --> EVENTS
|
||||
SessionProjector --> EVENTS
|
||||
|
||||
@enduml
|
||||
Reference in New Issue
Block a user