gatelineAPI reference
interface InboxItem {
    costLimitUsd?: null | number;
    detail: string;
    escalationIndex: null | number;
    gate: null | "G0" | "G1" | "G2" | "G3";
    inflight: null | { role: string; since: number };
    kind: InboxKind;
    packet: string[];
    pausedReason?: null | string;
    problems: string[];
    reviewable: boolean;
    since: null | number;
    slug: string;
    source: string;
    title: string;
}

Properties

costLimitUsd?: null | number

kind=paused: the run's current budget.cost_limit_usd, for a resume that must raise it (#96).

detail: string
escalationIndex: null | number

Escalation index into state.escalations, when kind=escalation.

gate: null | "G0" | "G1" | "G2" | "G3"
inflight: null | { role: string; since: number }

The gate's producing role holds an open ledger entry opened after the packet landed: a new artifact is coming and this one is superseded (#159). since is epoch seconds, the dispatch's own at. Null on every other item, and on a gate whose producer is at rest.

kind: InboxKind
packet: string[]

Run-relative artifact paths that make up the card's packet.

pausedReason?: null | string

kind=paused: the recorded reason, so the resume affordance can ask for what the reason needs (#96).

problems: string[]
reviewable: boolean

False → the card offers no decision. Two causes, told apart by problems: a non-empty problems is the bounce view (R3, the packet fails its contract); an empty one alongside inflight is the producer being out (#159).

since: null | number

Epoch seconds when this began waiting (commit time of the trigger), or null.

slug: string
source: string
title: string