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¶
JobLifecyclePhaseUnified 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¶
JobLifecyclePhaseis not the same asCraftJobState- 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
Related Documentation¶
- 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.