= app-worker

== purpose

Placeholder application module for a long-running background worker process. Currently contains only a stub `main()` function that prints its identity and exits.

== responsibilities

* Declares the module structure and build configuration for a future worker process
* Prints a startup banner to stdout

== non-responsibilities

* Does not perform any background processing, job queue management, or event consumption
* Does not contain any domain logic or infrastructure wiring
* Does not connect to any Correx server or event store

== key types

=== Main.kt
* **kind**: top-level `main()` function
* **purpose**: Placeholder entry point. Prints `"correx :: apps/worker"` and exits.

== event flow

None. The module has no event interaction.

== integration points

* Depends only on `com.github.ajalt.clikt:clikt` in build configuration (no actual usage in source)

== invariants

* The module has no runtime state, invariants, or behavioral contracts beyond printing to stdout

== PlantUML diagram

[plantuml, app-worker, "png"]
----
include::../../diagrams/app-worker.puml[]
----




== known issues

* Not implemented — this is a structural placeholder with no functional code

== open questions

* Will the worker process handle queued session execution, inference batching, or tool dispatch at scale?
* Should the worker connect to the server via the event store subscription mechanism or a separate message queue?
* Does the worker need its own `ServerModule`-style wiring, or will it operate as a stateless consumer?
