What it solves
A multi-step operation loses its safe recovery position after reset or power loss.
How it works
1Boot→2checkpoint read→3recovery verdict→4start policy→5step
Use it when
Resume a staged service procedure after reboot
Restart a non-resumable step from its beginning
Require operator action for an ambiguous checkpoint
Route corrupt or unsupported checkpoints to safe initialization
Quick Start
#include "loxseq/loxseq.h"
loxseq_t seq;
loxseq_init(&seq, steps, STEP_COUNT, &storage);
loxseq_recovery_verdict_t v=loxseq_recover(&seq,reboot_reason);
if(v==LOXSEQ_RECOVERY_RESUME) loxseq_start_resume(&seq,now_ms);
/* Expected: recovery verdict selects an explicit start path. */Engineering evidence
- Unit tests cover CRC vectors, corruption fallbacks, resume/restart semantics, branching, timeouts and storage failures
- Repository documents Ubuntu, Windows and macOS coverage plus ASan/UBSan on Ubuntu
Known limits
- Not a recipe manager, graph FSM or safety library
- One sequence runs per instance
- Boot-local elapsed time is not restored across reboot
- Storage durability is the caller backend’s responsibility