VFX-E-1004¶
Title¶
EventsFileNotFound
Explanation¶
The run events file this call needed does not exist — the path explain_run/diagnose_run was
pointed at, or the path the run registry recorded for the runId get_run_events was given. Kept
distinct from VFX-E-1002 (a missing suite file) rather than sharing one code with it, because the
remediation differs: a missing suite means fix the suite path, while a missing events file means the
run itself needs to be (re-)produced first.
Common causes¶
eventsPathpoints at a file that was never written —run_suitehas not completed yet, or wrote to a different location than expected.- The run's events file was cleaned up (temp-file garbage collection, or a manual cleanup script) before
explain_run/diagnose_runwas called. - A typo in a manually supplied
eventsPath. - For
get_run_events: therunIdIS in the run registry, but the events file that entry names has since been deleted — a run's metadata outlives its event stream when the output directory is cleaned. - For
get_step_timeline: the same condition, for the same reason — it reads the run's events file through the same reader, so a swept stream refuses there identically. - Not
get_run_artifacts: that tool reports the same swept file asreports.events.available: falseplus agapsentry, because for an artefacts inventory the events file is one input of three rather than the whole answer. - The run was recorded by a
--workspaceserver and the workspace's output directory was wiped, leaving the registry entries but not their streams.
Fixes¶
- Omit
eventsPathto letexplain_run/diagnose_rundefault to the most recent finished run in the run registry. - Run the suite with
run_suiteand use theeventsFilePathit returns directly, without retyping it. - Confirm the file exists on disk before retrying with an explicit
eventsPath. - For
get_run_eventsandget_step_timeline: this is not the same as an unknownrunId(that isVFX-E-1505) — the run existed, so re-run the suite rather than hunting for a different id. - Call
get_run_artifactsfor the run instead: it succeeds over a swept stream and tells you the path the registry recorded, which is what you need to work out where the file went. - Stop cleaning the workspace output directory between the run and the read, or read the events before the cleanup runs.