CLI reference › Everyday pipeline

history

pixelkiln history
pixelkiln history --only anvil --style base
pixelkiln history --json

List, per asset, the current generation and the ones it replaced, newest first, with each one's hash, download time, object id, and whether the prompt differed. --json prints the records as the lockfile keeps them. A regeneration keeps the generation it replaces up to a limit. The personal default is PIXELKILN_HISTORY in the environment (5 unless set, 0 keeps none); a manifest's top-level history overrides it for that project. The bytes of every kept generation survive cache --prune, and the provider objects were never deleted. Restore one with restore --generation.

A generation's text line shows (billed …) beside its cost estimate when poll read a different amount from the completed job (a PixelLab state or 1dir estimate is a tier, not an exact figure, and the two can differ by a lot; see docs/PIXELLAB.md); --json always includes billed, null until a poll reads one. gen's wave budget still spends against the estimate, since the real number is only known after the fact.

The paid-work states have one safe next step:

Lock stateResume command
pending, processingpixelkiln poll
reviewpixelkiln pick
selected, download-failedpixelkiln fetch
downloaded with a missing filepixelkiln restore

plan, doctor, and each pipeline stage name these commands. None submits a new generation. Missing recovery ids are reported by doctor instead of being presented as resumable work.