Skip to main content

Module application

Module application 

Source
Expand description

Application axis — the per-input (IN) use-case entry points that drive processing on top of the Engine.

The Engine itself is a pure execution surface. Each Application owns its own input source (an HTTP POST body, an IssueStore queue, and so on) and delegates the shared domain operations to crate::service::TaskLaunchService. Applications do not talk to each other directly — when they need to, they share a BlueprintStore as the hub.

Applications implemented today:

  • TaskApplication — the POST /v1/tasks path. Resolves a BlueprintRef (Inline / Id) and starts one task on the Engine through TaskLaunchService.
  • EnhanceApplication — the POST /v1/issues path. Enqueues on the IssueStore, pops the pending item, fetches the EnhanceBP head, and starts one task on the Engine through TaskLaunchService. In this model, an issue and a task are one and the same at the Engine level.

Re-exports§

pub use enhance::EnhanceApplication;
pub use enhance::EnhanceApplicationConfig;
pub use enhance::EnhanceApplicationError;
pub use enhance::EnhanceApplicationInput;
pub use enhance::TickOutcome;
pub use task::BlueprintRef;
pub use task::TaskApplication;
pub use task::TaskApplicationError;
pub use task::TaskApplicationInput;
pub use task::TaskApplicationOutput;
pub use task::VersionSelector;

Modules§

enhance
The POST /v1/issues dispatcher — see enhance::EnhanceApplication. EnhanceApplication — the dispatcher for the POST /v1/issues path.
task
The POST /v1/tasks entry point — see task::TaskApplication. TaskApplication — the POST /v1/tasks entry point.

Traits§

Application
An Application is a peer unit of (input → internal processing → output).