Skip to content

topmark.core.outcomes

topmark / core / outcomes

Stable outcome primitives shared by API, pipeline, and presentation layers.

This module is intentionally low-level: it defines the public outcome enum, its deterministic display/aggregation order, and the fallback reason text used when no more specific bucket reason is available.

Keeping these primitives in topmark.core avoids import cycles between the pipeline outcome classifier and the public API DTO layer. Higher-level modules may re-export or reference these values, but this module must remain free of pipeline, API-command, CLI, and presentation imports.

NO_REASON_PROVIDED module-attribute

NO_REASON_PROVIDED = '(no reason provided)'

Outcome reason when no reason provided.

Outcome

Bases: str, Enum

Stable per-file outcome bucket used by the public API.

Values mirror the high-level outcome categories exposed by the CLI and API. Consumers should prefer Outcome (and Outcome.value) for programmatic decisions rather than relying on human-facing labels.