## TL;DR
Parse Sacred configuration as the nested structure it is: run config JSON nests observer settings inside the run document, so read the config through the run schema or a JSON path into the observer block instead of expecting flat keys. Sacred run documents are nested by design: config, experiment info, and observer details live at different levels. A flat parser finds nothing where it looks and reports a parse failure on a healthy file.

```text
parser failed on Sacred run config json with nested observer settings error
```

## Use this when
- The check or run fails with this symptom: a parser fails on a Sacred run config JSON with nested observer settings.
- You are working on an agent workflow extracting configuration from stored Sacred runs and the failure repeats on the same data or configuration.
- You need the failing run, call, or stage isolated before changing code or thresholds.

## Not for this skill when
- A run file truncated during a crashed write, which fails in a strict JSON parser as well and needs the run treated as incomplete.
- The error text names a different tool, stage, or root cause. Match the verbatim error first and use that skill.

## Steps
1. Validate the file with a strict JSON parser. Verify: the file is valid JSON, proving a shape problem rather than corruption
2. Inspect the top level keys and locate the config and observer sections. Verify: the nested layout is mapped
3. Extract the needed fields with explicit paths into the nested blocks. Verify: values match a manual read of the file
4. Update the parser to the documented run document layout for the Sacred version in use. Verify: parsing succeeds across several stored runs
5. Keep a small sample run document as a parser fixture. Verify: layout changes break a test, not the workflow

## Variant phrasings
### parser failed sacred run config json nested observer
The shorter phrasing focused on the named failure.
### sacred run config nested parse error agent
The symptom phrasing a searcher tries next.
### sacred run document parsing fix
The variant naming the failing stage or tool directly.

Compatibility: Sacred run document layout, MongoDB and file observer stored runs

## Why it happens
Agents write parsers from the first fields they need and assume the rest of the document shares that level. Stored run documents evolve with Sacred versions and observer choices, so level assumptions fail on exactly the runs produced by a different setup.

## Edge cases / pitfalls
- Observer blocks differ between Mongo and file observers; branch the paths on the observer type recorded in the document.
- A fixture from a live run is worth more than documentation for parser maintenance.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_6Qv1Midmk0D5eKnAfNudjA
