AutoBE
    Preparing search index...

    Snapshot of a prior checkpoint as observed at the start of a fresh phase run.

    Two-level reporting:

    1. available records whether a usable checkpoint payload was found at all. false covers both "no checkpoint on disk" and "checkpoint existed but could not be parsed" — the error field disambiguates.
    2. The remaining fields summarize the payload so a reader can judge how far the prior run had progressed without re-reading the full snapshot file.

    The shape is intentionally observation-only. Future resume work (v1.1(c.4.1) passive seed, v1.1(c.4.2) active stage skipping) will consume this report; this PR only records it so subsequent runs have a structured "where did we leave off?" answer in summary.json.gz.

    interface IPhaseResumability {
        available: boolean;
        checkpointed_at?: string;
        elapsed?: number;
        error?: string;
        histories: number;
        lastEventType?: string;
        reason?:
            | "timeout"
            | "rate_limit"
            | "rate_limit_mid_run"
            | "upstream_unhealthy"
            | "connection_error"
            | "function_call_failed"
            | "validation_giveup"
            | "unknown"
            | "aborted_stagnation"
            | "aborted_cumulative_loop"
            | "interrupted"
            | "archive_timeout"
            | null;
        snapshots: number;
    }
    Index

    Properties

    available: boolean

    true when a prior checkpoint payload was found and parsed for this phase. false when no checkpoint was on disk or when read/parse failed; in the failure case error describes the cause.

    checkpointed_at?: string

    ISO timestamp recorded inside the checkpoint, when available.

    elapsed?: number

    Elapsed milliseconds from the prior phase's phaseStartedAt to the checkpoint write — i.e. how long the prior attempt had been running when this checkpoint was committed.

    error?: string

    Description of why a checkpoint file existed but could not be used (gunzip failure, JSON parse error, missing required field). Present only when available is false and a checkpoint file was found.

    histories: number

    Number of AutoBeHistory entries persisted by the prior attempt.

    lastEventType?: string

    Type tag of the most recent snapshot's event.type, when present. Useful for spotting where the prior run was working (e.g. interfaceSchema, interfaceOperation).

    reason?:
        | "timeout"
        | "rate_limit"
        | "rate_limit_mid_run"
        | "upstream_unhealthy"
        | "connection_error"
        | "function_call_failed"
        | "validation_giveup"
        | "unknown"
        | "aborted_stagnation"
        | "aborted_cumulative_loop"
        | "interrupted"
        | "archive_timeout"
        | null

    Failure classification recorded by the prior attempt, when the checkpoint payload carries one. null is meaningful — the prior attempt was still running (no abort reason yet) when the checkpoint was written.

    The union mirrors IPhaseState.reason: the RFC-9 OpenRouter mid-run breaker can latch and write its rate_limit_mid_run or upstream_unhealthy value into the checkpoint payload before the archiver returns, so the readback type must accept them or downstream exhaustiveness checks will be wrong. The runtime-specific reasons (runtime_setup_failed, runtime_execution_failed) are intentionally absent — those originate after the realize phase's compile step, after the checkpoint has already been finalized.

    snapshots: number

    Number of event snapshots accumulated by the prior attempt.