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:
2026-05-26 16:59:21 +04:00
parent eadf23c945
commit 9734eec63c
103 changed files with 6045 additions and 0 deletions
@@ -0,0 +1,48 @@
= interface-api
== purpose
No source files present. This directory is reserved for an API interface module that will define the public HTTP/REST contract exposed by Correx server applications. Currently a structural placeholder.
== responsibilities
* Declares the module structure for future API surface definitions
== non-responsibilities
* This module has no source code, types, or runtime behavior
== key types
*No types defined.*
== event flow
None. Module has no source files.
== integration points
* No current dependencies or dependents
== invariants
* Not applicable — module is empty
== PlantUML diagram
[plantuml, interface-api, "png"]
----
include::../../diagrams/interface-api.puml[]
----
== known issues
* This module contains no implementation — it is an empty placeholder
== open questions
* Will this module define OpenAPI specs, Ktor route contracts, or generated client stubs?
* Should this module be removed and its purpose absorbed by `:apps:server`?
@@ -0,0 +1,48 @@
= interface-cli
== purpose
No source files present. This directory is reserved for a CLI interface module that would define the abstract command contract shared by CLI applications. Currently a structural placeholder.
== responsibilities
* Declares the module structure for future CLI interface abstractions
== non-responsibilities
* This module has no source code, types, or runtime behavior
== key types
*No types defined.*
== event flow
None. Module has no source files.
== integration points
* No current dependencies or dependents
== invariants
* Not applicable — module is empty
== PlantUML diagram
[plantuml, interface-cli, "png"]
----
include::../../diagrams/interface-cli.puml[]
----
== known issues
* This module contains no implementation — it is an empty placeholder
== open questions
* Should this module define the `CliktCommand` subclasses as interfaces, or is `:apps:cli` sufficient as the sole CLI application?
* Could this module host a shared CLI argument parser or validation logic?
@@ -0,0 +1,49 @@
= interface-sdk
== purpose
No source files present. This directory is reserved for an SDK module that would define a programmatic client library for interacting with Correx from external applications. Currently a structural placeholder.
== responsibilities
* Declares the module structure for a future Correx SDK
== non-responsibilities
* This module has no source code, types, or runtime behavior
== key types
*No types defined.*
== event flow
None. Module has no source files.
== integration points
* No current dependencies or dependents
== invariants
* Not applicable — module is empty
== PlantUML diagram
[plantuml, interface-sdk, "png"]
----
include::../../diagrams/interface-sdk.puml[]
----
== known issues
* This module contains no implementation — it is an empty placeholder
== open questions
* Will the SDK be Kotlin-only or multi-language (e.g., generated from OpenAPI)?
* Should the SDK provide both blocking and coroutine-based APIs?
* Should the SDK implement reconnection logic, or leave that to callers?