Skip to content

Crafting — Core / Lifecycle

Folder Overview

This folder defines the shared lifecycle vocabulary used by the Crafting system.

Types in this folder describe what phase a crafting job is in. They do not define how that phase is executed or what caused it.

This vocabulary is shared across runtime execution, events, UI, and diagnostics.


What Lives Here

JobLifecyclePhase

  • JobLifecyclePhase Unified lifecycle phases emitted by the Crafting service

Phases include:

  • Enqueued — job accepted (inputs and currency already consumed)
  • Started — job entered running state
  • Progress — progress notification
  • Completed — outputs delivered
  • Cancelled — job cancelled
  • Failed — job failed with a reason

These phases are intended for observation, not control.


Purpose

This folder provides a consistent vocabulary for:

  • job lifecycle events
  • UI feedback and status display
  • logging and analytics

It avoids duplicated enums and inconsistent interpretations.


Usage Guidance

Event Consumers

  • treat lifecycle phases as notifications
  • do not assume ordering across different jobs
  • rely only on ordering within a single job
  • use failure reasons alongside lifecycle events

UI and Analytics

  • use lifecycle phases to drive UI and telemetry
  • do not infer internal state from events alone
  • query the service for authoritative state

Important Notes

  • JobLifecyclePhase is not the same as CraftJobState
  • lifecycle phases are a public event vocabulary
  • internal state transitions are not exposed

Not for Production Use

This folder names lifecycle states, it does not drive them

This folder does not include:

  • job scheduling logic
  • state machines or transitions
  • timing or progress calculations

  • Crafting Core (runtime behaviour)
  • Crafting Contracts (job state and results)

Public API

All types in this folder are part of the supported Crafting API surface.

  • new phases may be added
  • existing phases retain their meaning

Design Notes

  • simple, stable lifecycle vocabulary
  • describes what happened, not how

For more detailed state, query the Crafting service directly.