C# Orchestration State Machine
Canonical checkpoint and resume behavior for orchestration agents running multi-step C# delivery flows.
When to Use This Skill
Use this skill when:
- A workflow spans multiple delegations and commands.
- Execution may be interrupted and must resume deterministically.
- An orchestrator must avoid repeating completed steps.
Canonical Checkpoint Location
artifacts/orchestration/csharp-orchestrator-state.json
Never create sidecar checkpoint files, suffixed variants, or backup files as active state. If checkpoint state is conflicted, stale, or belongs to another mission, stop and report the conflict instead of renaming or backing up the active checkpoint.
Required Checkpoint Fields
objectivechange_budget_estimatepath_selected(smallorlarge)promotion-typeshort-namerelativeFilelong-nameissue-numfeature-folderwork-mode(minor-audit,full-feature, orfull-bug; normalize legacyfulltofull-featurebefore persistence)plan-path(minimal or full plan path)completed_stepsnext_steplast_updated
For short-path runs, also persist:
small_path_qc_summarysmall_path_audit_artifactsbootstrap_mode(manual-bootstraporauto-small-dev)phase0_execution_summaryresume_after_manual_bootstrap(next step token)
Update Protocol
- Write checkpoint after every completed orchestration sub-step.
- Treat checkpoint as source-of-truth for progress state.
- Never claim mission completion until checkpoint marks final state.
Resume Protocol
On invocation:
- Read checkpoint if it exists.
- If incomplete, resume from
next_stepwithout re-runningcompleted_steps. - If missing or completed, start at phase-0 intake.
- If user explicitly requests restart, reset checkpoint and start phase-0.